重新配置许多项目的解决方案

时间:2011-11-03 15:09:53

标签: visual-studio visual-studio-2010 msbuild

我们的解决方案位于TFS 2010上,现在有39个项目。一个Windows应用程序项目和38个类库。到目前为止,我们的Windows应用程序项目包含对CopyLocal = true的所有类库的所有引用。这种方式构建生成一个包含所有dll的文件夹以及.exe。

此设置不再适用于我们,我们需要从Windows应用中删除所有引用。 project(无论如何都使用反射加载dll)。如何配置构建以像以前一样工作但在Windows应用程序中没有引用。项目

2 个答案:

答案 0 :(得分:1)

您需要修改38个库项目的构建。有几个选择:

您可以更改每个项目,以便$(OutputPath)属性指向正确的drop文件夹,如下所示:

<PropertyGroup>
   <OutputPath>..\Application\bin\$(Configuration)</OutputPath>
</PropertyGroup>

如果我这样做,我会改变所有39个属性以使用定义了它的公共导入,并将它们全部构建到drop文件夹。然后只需将应用程序项目更改为指向drop文件夹即可进行调试。

在构建后的部署步骤中,您也可以(使用通用导入)连接线在构建每个项目时将构建的程序集复制到drop文件夹。

答案 1 :(得分:1)

当您通过命令行上的MSBuild构建项目时,您可以执行以下操作:

 msbuild yoursolution.sln /p:Configuration=Debug /p:OutDir=c:\your-specific-location

OutDir是在每个项目中从OutputPath创建的变量,因此在此处覆盖它将全局覆盖它,确保构建的所有项目的所有输出都被复制到此位置。