构建项目会在Visual Studio解决方案中更改另一个项目的bin文件夹

时间:2017-07-26 09:11:29

标签: visual-studio build msbuild

我在解决方案中有数十个Web应用程序和许多类库。当我构建一个Web应用程序时,让我们说另一个Web应用程序项目,让我们说#B;#34;受此编译的影响。 " A"和" B"不直接引用,但它们使用相同的类库。如果我构建或重建" A",此构建创建的程序集也会转到" B"的bin文件夹。所以,每次我建立" A",我等待" B"的启动。据我所知,这些项目的bin文件夹之间没有任何hardlink / symlink。

另外,我使用了类库的通用输出路径,但没有使用Web应用程序。

这是错误还是默认行为?我该如何防止这种行为?

1 个答案:

答案 0 :(得分:0)

  

这是错误还是默认行为?我该如何防止这种行为?

这是默认行为。将项目引用添加到Visual Studio Web项目,以下内容将添加到Web项目的Bin文件夹中:

  • 从添加的项目创建的程序集的副本。
  • 从属程序集,XML文档文件,许可证文件,资源文件等的副本。

因此,一旦将库项目添加到Web,添加项目中的程序集将自动添加到Web项目的Bin文件夹中。

如果要防止此行为,可以将类库打包为NuGet包,然后将该包添加到Web项目A和B.有关NuGet创建包的详细信息,请参阅this document