如何以编程方式将程序集引用添加到项目?

jit*_*npt 7 c# roslyn

我一直在尝试使用Roslyn来解析解决方案文件,并以编程方式为解决方案中的每个项目添加自定义程序集引用.

我尝试使用以下代码片段来执行相同的操作:

//The name of the DLL is customLib.dll
var reference = MetadataReference.CreateAssemblyReference("customLib");
project = project.AddMetadataReference(reference);
Run Code Online (Sandbox Code Playgroud)

但是,它在创建MetadataReference时遇到FileNotFoundException.

所以,我的问题是:如何指定Roslyn需要检查指定dll的路径

谢谢.

Jas*_*ski 11

MetadataReference.CreateAssemblyReference用于获取GAC中程序集的引用.试试这个:

project = project.AddMetadataReference(new MetadataFileReference("<path>"));
Run Code Online (Sandbox Code Playgroud)