2013-09-27 70 views
30

我已经使用VS 2010和VS2008。当我将它们与我的WCF服务项目一起使用时,我的.PDB文件在做出发布网站时总是被复制。现在,在VS2012中,当我发布网站时,没有PDB文件被复制。为调试和发布创建PDB文件,但是当我做发布网站时(无论是调试还是发布)都没有发生。Visual Studio 2012网站发布不复制.pdb文件

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

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

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

我甚至试图添加项目到我的.pubxml文件,并且不起作用。

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

在此先感谢。

回答

54

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

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

<PropertyGroup> 
    <ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol> 
</PropertyGroup> 
+0

这个工作。我在另一个线程中看到了这一点,但是当我尝试它时,VS 2012表示它不是部分支持的元素。我没有得到一个错误,但提前输入帮助并没有把它作为一个选项。我能找到的最接近的是,但它们不起作用。无论如何,我只是输入它,即使VS给我错误,这工作。我真的希望微软能更好地记录这一点。 – user2823892

+2

这也可以在项目选项卡“Package/Publish Web”(VS2013和VB.NET,未经验证的c#或VS2012)下完成。 – Peter

+0

非常感谢! –

13

对于我这个工作(在发布配置文件):

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

或者使用发布向导:

enter image description here

+1

我尝试了几乎所有其他建议,但是这个解决了我的问题。非常感谢你。 – hakan

+0

如果您不想预编译,该选项是否仍然有效?我之前有过预编译的问题,但我现在还记不清它们是什么。与我认为的剃刀视图有关。 – jocull

相关问题