我们的解决方案位于TFS 2010上,现在有39个项目。一个Windows应用程序项目和38个类库。到目前为止,我们的Windows应用程序项目包含对CopyLocal = true的所有类库的所有引用。这种方式构建生成一个包含所有dll的文件夹以及.exe。
此设置不再适用于我们,我们需要从Windows应用中删除所有引用。 project(无论如何都使用反射加载dll)。如何配置构建以像以前一样工作但在Windows应用程序中没有引用。项目
答案 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创建的变量,因此在此处覆盖它将全局覆盖它,确保构建的所有项目的所有输出都被复制到此位置。