devenv在增量构建期间从其他项目复制文件

时间:2015-11-30 12:45:03

标签: visual-studio msbuild visual-studio-2015 incremental-build

我有3个项目; Project1.WebProject1.ServiceProject1.CommonProject1.WebProject1.Service都依赖于Project1.Common

  • 如果我重建包含所有3个项目的解决方案;一切正常。
  • 如果我更改Project1.Web中的文件;文件是为Project1.Web \ bin构建的 - 一切正常。
  • 如果更改Project1.Service文件中的文件是为Project1.Service \ bin \ Debug 而构建的,则有些文件会复制到Project1.Web \ bin 。复制的文件是Project1.Common.dll,但未构建(或复制)Project1.Web.dll。
  • Project1.Service中修改的文件未被共享,只是被修改以触发Project1.Service的增量构建。

有谁知道为什么Visual Studio会将构建工件复制到不属于增量构建的目录中?

目前这一系列事件离开Project1.Web是一个非工作状态,Project1.ServiceProject1.Web通过第三方程序集依赖于同一程序集的不同版本。如果我们决定对Project1.Service进行更改,则会产生打破Project1.Web的副作用。

我已尝试/检查过以下内容:

  1. Project1.WebProject1.Service(任一方向)之间没有依赖关系。
  2. Project1.Service中修改的文件未共享;并且没有定义前/后构建事件。
  3. 在Project1.Service.csproj项目文件中执行msbuild的效果不同。
  4. 拒绝Project1.Web下bin目录的写入/创建权限不会导致增量构建失败。
  5. 在引用Project1.Web的详细或诊断msbuild输出中没有发出输出(来自Visual Studio中)
  6. 使用procmon,我可以看到devenv正在使用mswebprj.dll(C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ Packages \ mswebprj.dll) - 它会调用副本该文件。

0 个答案:

没有答案
相关问题