【问题标题】:Visual Studio 2012 Website Publish Not Copying .pdb filesVisual Studio 2012 网站发布不复制 .pdb 文件
【发布时间】:2013-09-27 14:49:27
【问题描述】:

我用过 VS 2010 和 VS2008。当我将它们与我的 WCF 服务项目一起使用时,我的 .PDB 文件总是在我发布网站时被复制。现在,使用 VS2012,当我发布网站时,不会复制任何 PDB 文件。正在为调试和发布创建 PDB 文件,但是当我执行发布网站(针对调试或发布)时没有任何反应。

我已经搜索过这个论坛(和互联网)。我的解决方案如下: 1) WCF 服务库项目。 2) WCF 服务网站

当我第一次发布时,我必须创建一个配置文件,然后我就这样做了。

当我右键单击 WCF 服务库项目并选择属性时,我只会看到应用程序、构建、构建事件、调试、资源、服务、设置、引用路径、签名、WCF 选项、代码分析的选项卡。我没有获得打包/发布 Web 和其他我曾经获得的项目的选项卡。我试图右键单击我的 WCF 服务网站项目,但属性页中没有任何内容表明这一点。

我什至尝试将项目添加到我的 .pubxml 文件中,但这不起作用。

我认为我不需要更新我的调试选项来指定符号位置。我认为我的 Publish 应该像 2008 年和 2010 年那样“做”。有什么建议吗?

提前致谢。

【问题讨论】:

    标签: visual-studio-2012 debug-symbols


    【解决方案1】:

    在 VS2012 网站发布中,默认情况下始终排除符号。为什么?它归结为网站项目实际上没有构建配置的设计问题。如果您在解决方案处于 Release 模式时查看 VS 中的配置管理器,网站项目将始终处于 Debug 模式;没有其他选择。这是因为网站项目不是基于 MSBuild,因此不尊重 MSBuild 配置。

    相反,您可以编辑 .pubxml 以告诉它包含符号。尝试添加:

    <PropertyGroup>
      <ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>
    </PropertyGroup>
    

    【讨论】:

    • 这行得通。我在另一个线程中看到了这个,但是当我尝试它时,VS 2012 说它不是 部分的支持元素。我没有收到错误,但预先输入的辅助没有将其作为选项。我能找到的最接近的是 但它们不起作用。无论如何,我只是输入了它,即使 VS 给了我错误并且这有效。我真的希望微软能更好地记录这一点。
    • 这也可以在项目标签Package/Publish Web(VS2013和VB.NET,还没有验证c#或VS2012。)
    • 如果您正在使用 MSBuild,例如通过 Package 配置和 Web Deploy,您可以将相同的 &lt;PropertyGroup&gt; 元素添加到您的 Web 项目的 .csproj 文件中。
    【解决方案2】:

    对我来说这很有效(在发布配置文件中):

    <PropertyGroup>
       ...
       <DebugSymbols>True</DebugSymbols>
    </PropertyGroup>
    

    或者使用发布向导:

    【讨论】:

    • 我尝试了几乎所有其他建议,但这个解决了我的问题。非常感谢。
    • 如果您不想预编译,此选项是否仍然有效?我以前在预编译方面遇到过问题,尽管我不记得它们现在到底是什么了。我认为与 Razor 视图有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多