【发布时间】:2013-10-01 05:23:44
【问题描述】:
我编写了 Visual Studio 扩展供私人使用。该软件包仍在开发中,但我想使用它并将其分发给我的同事。是否可以将调试符号 (.pdb) 包含到 .vsix 包中?我更喜欢 Visual Studio 或 Project 设置而不是包编辑。
【问题讨论】:
标签: visual-studio visual-studio-2012 visual-studio-extensions vsix
我编写了 Visual Studio 扩展供私人使用。该软件包仍在开发中,但我想使用它并将其分发给我的同事。是否可以将调试符号 (.pdb) 包含到 .vsix 包中?我更喜欢 Visual Studio 或 Project 设置而不是包编辑。
【问题讨论】:
标签: visual-studio visual-studio-2012 visual-studio-extensions vsix
在 VS UI 中没有设置,但您可以编辑 .csproj 或 .vbproj 文件来更改它。如果您在记事本中打开 .csproj 文件,请在 <PropertyGroup> 下更新或添加此文件
<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
您可能希望将它添加到您的“调试”PropertyGroup 下,这样它就可以包含在调试版本中,但不发布您可能会粘贴在公共位置的版本。如果您有添加到 VSIX 的项目引用,请转到项目文件中的 <ProjectReference> 节点并查找:
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
第一行是包含在 VSIX 中的输出组,第二行是按 F5 时在本地复制的内容。按预期调整组,其中 %3b 是 a 的转义形式; and 是这里的分隔符。
【讨论】:
<IncludeDebugSymbolsInVSIXContainer> 添加到 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> 并且它有效。 THX
<ProjectReference ...> 节点下。但是,它似乎仍然没有为依赖项复制 PDB... 我也尝试将所有属性 here 设置为 true,但没有运气。我想知道是不是因为我的 VSIX 依赖于 .NET Standard 库。