2017-03-10 7 views
2

最近リリースされた.NETツールはembedding C# in PDBsをサポートしているようだが、これはサードパーティなどへのステップアップの経験を向上させるはずである。csc /?を実行すると、/ embedオプション: "すべてのソースファイルをPDBに埋め込みます。"新しいcsprojを使用してPDBにC#ソースを埋め込む

しかし、これをcsprojで指定する方法はないようです。さらに、コンパイラに任意のスイッチを渡すための規定がないように思われます。これは手動で渡す/埋め込むために使用します。

私は何かを見逃していないことを誰でも確認できますが、/ embedのサポートは現在欠けていますか?これには問題がありますか?提案された回避策も高く評価されます。

+0

@ HansPassant私はあなたが混乱していると思う...記述するUIオプションは、PDBをアセンブリに埋め込み、/ debug:埋め込みに対応します。私はPDBにソースを埋め込むことを探しています。これは/ embedスイッチが行うものです。彼らは2つの異なるものです。 –

答えて

4

は、あなたの.csprojにこれを追加することにより、EmbeddedFilesItem Groupを経由して、それらをサポートする必要がありロザリンタスクのように見える:

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

を...基本的に何/embed option doesをしています。

PDBのソースを接続するには、SourceLink json fileを用意する必要がありますが、自動的に行われるかどうかはわかりません。

+0

私はこの問題を自分自身でハッキングしたくないと思うのですが、SourceLinkコンパイラオプションがmsbuildに/ embed以外にさらされているとは思わないでしょう... –

+1

これは公開されています... ['< Csc SourceLink = "your.json" />'](https://github.com/dotnet/roslyn/blob/version-2.0.0/src/Compilers/Core/MSBuildTask/ManagedCompiler.cs#L106)または[ your.json '](http://source.roslyn.io/#MSBuildFiles/C/Users/vslsnap/.nuget/packages/Microsoft.Net.Compilers/2.0.0-rc2 -61102-09/tools/Microsoft.CSharp.Core.targets、141) – m0sa

+0

ああ、ありがとう、私は気づいていませんでした。既にこの機能についていくつかの経験がある場合は、埋め込みソースファイルの場合にはSourceLink JSONが必要ですか? –

関連する問題