0
簡而言之,我一直在研究一個工具,它可以使用.NET Compiler Platform修改解決方案內的所有類。爲了做到這一點,我必須爲所有項目添加一個程序集引用。使用Roslyn添加「格式良好」的程序集參考
目前,我用這行代碼:
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編譯器平臺。
感謝您的幫助!
我剛剛發現了羅斯林的GitHub的頁面在這個問題上: https://github.com/dotnet/roslyn/issues/5959 無論如何,感謝您的回答。我會做XML方式的解決方法。 這將在未來得到修復。 – MDoobie