【发布时间】:2014-11-26 09:53:30
【问题描述】:
我正在开发需要一些单元测试(用于控制器等)的网站项目。
解决方案:
门户网站
WebPortal.Tests
Team Foundation Server 用于解决方案的门控签入和构建。部署由 Octopus 管理。 在门控检查期间发生以下错误:
CSC:找不到元数据文件“D:\TFSBuilds...\Sources...\WebPortal\bin\WebPortal.dll”
在该目标中仅生成 WebPortal.pdb 文件,而 WebPortal.Tests 项目需要 DLL。但是,在 localhost 上生成的 DLL (int /bin) 中不会出现此错误。我发现,TFS 在 bin 文件夹中为类库类型项目生成 DLL。
如何解决这个问题,以便在使用门控签入时能够在 WebPortal 上运行单元测试?
【问题讨论】:
-
它应该生成该 dll 作为构建的一部分,仔细检查您的构建顺序并确保测试项目的构建是最后一个要构建的项目,因为这可能是时间问题跨度>
-
测试项目在构建顺序中位于 WebPortal 项目之下。中间还有更多项目,但所有订单似乎都还可以。但奇怪的是,即使不涉及测试项目,WebPortal 项目的 bin 目录中也不包含 DLL。可能是因为错误的构建定义或 Octopack 脚本配置错误?
标签: asp.net dll tfs bin octopus-deploy