当您构建.Net项目时,输出将被复制到输出文件夹(例如:bin文件夹)中;不仅复制了项目源代码发布的二进制文件,还复制了标记为CopyLocal = True选项的所有依赖项(文件引用)。如何检索.Net项目的输出而不依赖关系
对于定制构建任务(即:在Team Build上编译时),我想知道如何从没有这些依赖关系的构建中发布二进制列表(我可能不会 - 也不想要 - 设置CopyLocal = False)。
我的问题是,我没有找到一个干净的方式来确定这个输出。我最接近的解决方案是在项目文件上循环,读取AssemblyName并检查是否有预见的pdb,xml,resx文件。但是,我仍然缺少资源文件(?)和其他输出,因为我不知道所有可能的项目。
所以我的问题是:你知道任何方法/技巧/算法来获得构建发布的二进制列表;即组件,卫星组件(子文件夹的+路径),pbd,xml(即:文档),但没有依赖关系?
不需要回答这个问题是非常重要的。 – 2012-01-09 14:34:14
将** CopyLocal **设置为false是解决方案。你明白没有本地目录中的依赖项,那么你的应用程序不可能正常运行? – 2012-01-09 19:47:01
对不起,但我可能不会设置CopyLocal = False,否则我没有bin文件夹中的可用依赖项,也无法在Team Build上运行单元测试。这些不在GAC中,但在Drop文件夹中。另外,我最好不要修改源代码。我只管理生成服务器,不对源代码负责。如果没有其他干净的方法来确定确切的输出,我可以解析项目文件并更新CopyLocal,但我不知道是否有MSTest的选项(如MSBuild的“referencepath”选项)传递ot Drop文件夹到MSTest – 2012-01-10 07:52:12