添加"格式良好的" Roslyn的装配参考

时间:2016-11-09 13:25:48

标签: c# .net visual-studio-2015 roslyn

简而言之,我一直致力于使用.NET编译器平台修改解决方案中所有类的工具。为此,我必须为所有项目添加一个程序集引用。

目前,我使用这行代码:

var addedRef= MetadataReference.CreateFromFile(@"d:\Stuff\MyAssembly.dll")
                        .WithProperties(new MetadataReferenceProperties(MetadataImageKind.Assembly));

var sol = newSolution.AddMetadataReference(projectId, addedRef);

但不幸的是,它在.csproj文件中生成以下条目:

<Reference Include="..\Stuff\MyAssembly.dll" />

而不是那样,我想在我的.csproj中看到这个:

<Reference Include="MyAssembly.dll" />

当然有一个讨厌的解决方法:将.csproj文件解析为xml并手动插入......但我真的想避免这个,因为有.NET编译器平台。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Roslyn的东西对MSBuild表示非常不关心 - 它并没有尝试成为系统来做到这一点。您最好只使用XML或MSBuild API或其他东西。