今天早上我有几分钟时间试图找出每次我尝试运行项目时Visual Studio 2017在解决方案中重建所有项目的原因。我想我知道为什么这种情况正在发生,但我不确定如何解决它。
我看到了这些文章:
http://michaelscodingspot.com/2017/04/28/visual-studio-keeps-rebuilding-projects-no-good-reason/
让我开始构建日志记录。
我现在看到VS正在OBJ目录中寻找PDB文件,因为它们不在那里(1),VS认为该项目需要重建。
3>Project '****.Common' is not up to date. Missing output file 'C:\*******\***\****.Common\obj\Debug\***.****.Common.pdb'.2>Build started.
1)程序集项目的OBJ目录中的PDB文件不。它们位于BIN目录中。请注意,在主要"可执行文件" web 项目PDB文件位于OBJ和BIN目录中。
所以现在我需要让visual studio执行以下操作之一:
我做了一些搜索,但是没有能够找到一套好的搜索词来找到这个搜索词。
请注意,这是一个使用VS2012,VS2015,VS2017以及2012年之前开发的项目,所以这可能是问题的一部分。
答案 0 :(得分:0)
这是在旧版Visual Studio中创建的程序集项目的问题(在VS2017中创建的项目没有问题)。
我找到的解决方法是更改.csproj文件的这一部分:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<OutputPath>bin\Debug\</OutputPath>
...
</PropertyGroup>
为:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<OutputPath>obj\Debug\</OutputPath>
...
</PropertyGroup>
请注意,您可以在&#34;属性/构建&#34;中进行此更改。在&#34;输出&#34;通过编辑&#34;输出路径&#34;。另请注意,这显然是一种解决方法,因为我不需要对VS2017项目执行此操作。如果我详尽地试图找出proj文件之间的差异,我会更新这个答案。
还有一些其他内容项设置为&#34;始终复制&#34;这也迫使整个项目重建。我将其更改为&#34;复制如果更新&#34;。