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

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

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

任何人都可以确认我没有错过任何内容,并且目前缺乏对/ embed的构建支持吗?这是否有问题(如果不是,它会去哪里)?任何建议的解决方法也将受到赞赏.

解决方法:

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

<Target Name="EmbedSources" BeforeTargets="CoreCompile">
   <ItemGroup>
      <EmbeddedFiles Include="@(Compile) " />
   </ItemGroup>
</Target>

……这基本上就是/embed option does.

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

上一篇:c# – 如何使多个.net项目在构建中只复制一次引用


下一篇:从同一个visual c#项目创建两个(稍微)不同的可执行文件