Visual studio 2012 Visual Studio 2012网站发布不复制.pdb文件

Visual studio 2012 Visual Studio 2012网站发布不复制.pdb文件,visual-studio-2012,debug-symbols,Visual Studio 2012,Debug Symbols,我使用了VS2010和VS2008。当我在我的WCF服务项目中使用它们时,我发布网站时总是复制.PDB文件。现在,使用VS2012,当我发布网站时,不会复制任何PDB文件。正在为调试和发布创建PDB文件,但在发布网站(调试或发布)时不会发生任何事情 我已经搜索了这个论坛(和互联网)。我的解决办法如下: 1) WCF服务库项目。 2) WCF服务网站 当我第一次发布时,我必须创建一个配置文件,我做到了这一点 当我右键单击WCF服务库项目并选择“属性”时,我只会看到应用程序、生成、生成事件、调试、资

我使用了VS2010和VS2008。当我在我的WCF服务项目中使用它们时,我发布网站时总是复制.PDB文件。现在,使用VS2012,当我发布网站时,不会复制任何PDB文件。正在为调试和发布创建PDB文件,但在发布网站(调试或发布)时不会发生任何事情

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

当我第一次发布时,我必须创建一个配置文件,我做到了这一点

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

我甚至尝试将项目添加到.pubxml文件中,但没有成功

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


提前谢谢

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

相反,您可以编辑.pubxml,让它包含符号。尝试添加以下内容:

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

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


...
真的
或使用发布向导:


这起作用了。我在另一个线程中看到了这一点,但当我尝试它时,VS 2012表示该部分不支持该元素。我没有得到一个错误,但类型提前协助没有给它作为一个选项。我能找到的最接近的是或,但它们不起作用。不管怎么说,我只是输入了它,尽管VS给了我错误,这是有效的。我真的希望Microsoft能更好地记录这一点。这也可以在项目选项卡
包/发布Web
(VS2013和VB.NET,尚未验证c#或VS2012)下完成。如果您使用的是MSBuild,例如包配置和Web部署,您可以将相同的
元素添加到web项目的.csproj文件中。我尝试了几乎所有其他建议,但这一建议解决了我的问题。非常感谢。如果您不想预编译,此选项仍然有效吗?我以前在预编译方面遇到过问题,尽管我记不清它们是什么。我想这和剃刀的观点有关。
<PropertyGroup>
   ...
   <DebugSymbols>True</DebugSymbols>
</PropertyGroup>