問題タブ [clr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
56171 参照

.net - LINQ on the .NET 2.0 Runtime

Can a LINQ enabled app run on a machine that only has the .NET 2.0 runtime installed?

In theory, LINQ is nothing more than syntactic sugar, and the resulting IL code should look the same as it would have in .NET 2.0.

How can I write LINQ without using the .NET 3.5 libraries? Will it run on .NET 2.0?

0 投票する
3 に答える
3278 参照

compiler-construction - Mixed C++/CLI TypeLoadException 内部制限: フィールドが多すぎます

いくつかの新しい UI をマネージド/C# ランドに移行するために、最近、大規模なレガシー プロジェクトで共通言語ランタイム サポート (/clr) を有効にしました。全体的なソリューション。このプロジェクトはアプリケーションのコアであり、生成されたマネージ UI コードを駆動します (したがって、相互運用のために clr サポートを有効にする必要があります)。

大量の小さなエラーと警告を修正した後、最終的にアプリケーションをコンパイルすることができました..しかし、アプリケーションを実行すると EETypeLoadException が発生し、デバッグできなくなります...

掘り下げてみると、原因は「System.TypeLoadException: 内部制限: フィールドが多すぎます」であることがわかりました。これはコンパイルの最後に発生します。次に、アセンブリを2つ以上のdllに分割することを提案するこのリンクを見つけました。ただし、これは私の場合は不可能です。レガシー コードは基本的に変更されないという制限があるためです。

誰でも他の可能な解決策を提案できますか? 私は本当にここで行き止まりです。

0 投票する
3 に答える
4244 参照

c# - 実行時に 32 ビット/64 ビット ライブラリをレイト バインドする方法

ここで説明したものと似ていますが、微妙に異なる問題があります(アセンブリとその依存関係の読み込み)。

顧客に販売する 3D レンダリング用の C++ DLL があります。.NET ユーザーの場合は、CLR ラッパーを使用します。C++ DLL は 32 ビット バージョンと 64 ビット バージョンの両方でビルドできますが、これは、CLR が特定の DLL にバインドされるため、2 つの CLR ラッパーが必要であることを意味すると思いますか?

ここで、顧客が 32 ビットまたは 64 ビットの .NET アプリを持っていて、それが純粋な .NET アプリであるため、単一のアセンブリ セットからそれを解決するために CLR を離れるとします。問題は、アプリ コードが実行時に 32 ビットと 64 ビットの CLR/DLL の組み合わせを動的に選択するにはどうすればよいかということです。

さらに具体的には、前述の質問に対する提案された回答はここでも適用できますか (つまり、ResolveEvent ハンドラーを作成します)?

0 投票する
4 に答える
4021 参照

.net - .Net Appdomain が消費しているメモリ量を知るにはどうすればよいですか?

.Net AppDomain で実行されているプラ​​グインのメモリ消費をプログラムで制限しようとしていますが、この設定パラメータが見つかりません。また、AppDomain にクエリを実行してメモリの消費量を把握する方法も見つかりません。 . 何か案は?

0 投票する
2 に答える
4719 参照

memory - CLRプロファイラー-既存のプロセスへの接続

.Net 2.0のCLRプロファイルのようなものを使用して、(ASP.Netワーカープロセスの)任意の時点でヒープ内でより多くのスペースを使用しているオブジェクトを確認したいと思います。

ただし、CLRプロファイラーでは、アプリを起動することしかできず、既存のアプリに接続することはできません。これは、割り当てとGCも追跡するためだと思いますが、あまり興味がありません。ヒープの現在の状態のスナップショットを取り、そこに何があり、各種類のオブジェクトがいくつあるか、および各オブジェクトタイプによって合計で何バイトが使用されているかを示すものが欲しいです。

何か案は?

0 投票する
8 に答える
3509 参照

c# - Java の JVM と .NET の CLR の内部動作の違いは何ですか?

Java の JVM と .NET の CLR の内部動作の違いは何ですか?

おそらく出発点は、それぞれの環境 (Java > JVM > マシン コード) (C# > CLR > IL) で基本的に同じことでしょうか。


更新: 何人かの人々が、私がカバーしようとしていたポイントをほのめかしています:

  1. ガベージ コレクション
  2. 箱詰め/箱から出す
  3. JIT デバッグ
  4. ジェネリック/テンプレート
  5. 2 つを区別する他の良いトピックを提案してください。

@George Mauer - これは非常に興味深いですね:

これはすでに 1 回投稿されていますが、c# のチーフ言語デザイナーである Anders Hejlsberg との一連のインタビューです。

0 投票する
1 に答える
1906 参照

.net - コンパイル時間よりもパフォーマンスを優先するように .NET JIT コンパイラを変更する方法はありますか?

より詳細な最適化の設定を指定することで、.NET JIT コンパイラの動作を変更する方法があるかどうか疑問に思っていました。それができない場合は、何らかのプロファイルに基づく最適化を行うことができればいいでしょう。

0 投票する
2 に答える
4724 参照

.net - VB.NET のオプション パラメータは内部でどのように機能しますか? それらは CLS に準拠していますか?

次のメソッド宣言があるとします。

VB.NET は、CLR の範囲内でオプションのパラメーターをどのように機能させますか? オプションのパラメーターは CLS に準拠していますか?

0 投票する
2 に答える
251 参照

.net - 実行時に型解決に追加のロジックを追加するにはどうすればよいですか?

独自の CLR ホストを作成および管理せずに、型が見つからない場合にその型の検索と読み込みを引き継ぐ一般的な方法はありますか?

以下はほんの一例です。急いで最初の回答になりたくて、私の質問に対する解決策として新しいアドイン フレームワークや MEF を提案しないでください。

例として、アドインを含むサンプルがあります。アプリは、特定の関数に使用する型をリストしたファイルを読み取ります。アプリは、これらの型のインスタンス化を試みます。それらがまだ appdomain に読み込まれていない場合、メソッドは失敗します。これらの状況を適切に処理し、これらのアセンブリをロードするための追加のロジックを提供できるようにするために、処理できるイベントまたは独自の実装を提供できるコンポーネントを探しています。


私が知る限り (誰かが機能する例を持っていない限り)、これまでに言及された AppDomain イベントは、型が見つからないときに発生しません。


待ってください、明らかにこれは機能しています! 以前に何が間違っていたのかはわかりませんが、このイベントはうまくいきます。

0 投票する
1 に答える
3659 参照

error-handling - SQL Try-Catchブロックは、スローされたCLRエラーを処理できますか?

SQL 2005とtry-catch機能を使用して、DB内のすべてのエラー処理を処理しています。現在、DBでいくつかのWCF呼び出しを行うための.NETCLR関数の展開に取り組んでいます。このWCFプロシージャはCLRで記述され、SQLに展開されます。try-catchブロックをCLRコードに入れると、エラーを正常にキャッチします。ただし、SQLのtry-catchブロックまでエラーをスローできないようです。SQLは私が投げたものを無視しているようで、見つけたエラーをキャッチします。2つの間に関係はありません(つまり、私は一方から他方に投げることができませんか?)

CLR内からSQLの呼び出しプロシージャにスローできる場合、特別なフォーマットが必要ですか?スローされたエラーをキャッチしてから別のエラーをスローするという特定のケースを試しましたが、SQLはスローされたエラーを無視し、スローされたエラーを無視するかのように元のエラーをキャッチしました。