ネイティブ コードを使用せずにカスタム mscorlib.dll をビルドすることは可能ですか (pinvoke は許可されています :-)?
今週末、それがどれほど難しいかを確認するために少し実験を試みましたが、次の問題がありました。
- mscorlib のバージョンに System.Static クラスを 1 つ追加しましたが、タイプ 'System.Static`1' を 'mscorlib、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089 から読み込めない' というメッセージとともに TypeLoadException が発生しました。 . どういうわけか、まだMSライブラリをロードしているようです。それを回避するにはどうすればよいですか (既に /nostdlib スイッチを使用しています)。
- mscorlib に「mycorlib」という名前を付けたとき、System.Object には親クラスが必要であるというエラーが発生しました
- 私がジェネリック型 T を持っていて、それを実行している場合、ネイティブ メソッドであるMS 実装呼び出し
new T()
の c# コンパイラによって変換されます。mscorlib から呼び出すことはできますか、それとも MS が提供する mscorlib に含まれていますか?Activator.CrateInstance<T>()
RuntimeTypeHandle.CreateInstance(...)
私の目標は、int、double、string、およびその他の標準型のバージョンを作成できるかどうかをテストすることでした。MS CLR を使用したいのですが、マネージ コード クラスを提供するだけです。
出来ますか?