使用新的csproj在PDB中嵌入C#源代码

最近发布的.NET工具似乎支持在PDB中嵌入C# ,这应该可以改善步入第三方等的体验。运行csc /? ,我可以清楚地看到/ embed选项:“将所有源文件嵌入到PDB中。”

但是,似乎没有任何方法可以在csproj中指定它。 更重要的是,似乎没有任何规定将任意开关传递给编译器,我将用它来手动传递/嵌入。

任何人都可以确认我没有错过任何内容,并且目前缺乏对/ embed的构建支持吗? 这是否存在问题(如果没有问题)? 任何建议的解决方法也将不胜感激。

看起来roslyn任务应该通过EmbeddedFiles 项目组支持它们,方法是将它添加到.csproj中:

      

…这基本上是/ embed选项的作用 。

您可能还需要提供SourceLink json文件 ,以连接PDB中的源,不确定是否自动发生。

现在有一个合适的MSBuild EmbedAllSources属性 :

   netstandard2.0 true [...] 

从我在本地观察到的,它的行为与提到的EmbedFiles目标相同。