添加“well-formatted"装配参考与罗斯林

本文关键字:参考 罗斯林 well-formatted quot 添加 | 更新日期: 2023-09-27 18:17:18

简而言之,我一直在开发一个工具,它可以修改。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编译器平台。

提前感谢您的帮助!

添加“well-formatted"装配参考与罗斯林

Roslyn的东西是相当不关心MSBuild表示-它不试图成为这样做的系统。你最好只使用XML或MSBuild api或其他东西。