https://laurentkempe.com/2019/02/18/dynamically-compile-and-run-code-using-dotNET-Core-3.0/
こちらのページを参考にしてコードを動的にコンパイルしようとしています。
C#
1var references = new MetadataReference[] 2{ 3 MetadataReference.CreateFromFile(typeof(object).Assembly.Location), 4 MetadataReference.CreateFromFile(typeof(Console).Assembly.Location), 5 MetadataReference.CreateFromFile(typeof(System.Runtime.AssemblyTargetedPatchBandAttribute).Assembly.Location), 6 MetadataReference.CreateFromFile(typeof(Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo).Assembly.Location), 7};
この部分で参照するメタデータを指定してるようですが、実際に実行してみると、System.Objectが定義されているSystem.Runtime.dllが参照されていないとエラーが出ます。
実際にtypeof(object).Assembly.Location
の中身を出力してみると"System.Private.CoreLib.dll"というファイルになっていました。
System.Runtime.dllのパスを取得する方法はありますか?
.NET 6です。
回答1件
あなたの回答
tips
プレビュー