我做了一个新的构建定义。大多数选项保留默认值。我暂时只是玩玩而已。
问题是,当我在 Visual Studio 2013 中以发布模式构建项目时,一切都很好,没有错误。当 TFS 构建它时,我遇到了一些错误:
(我必须将其从我自己的语言翻译成英语,对此感到抱歉)
TemplateService.cs (80): Core.Infrastructure.Objects.PredefinedTemplate does not contain a definition for TemplateId and there is no extentionmethod TemplateId found gevonden *(something with first argument)* of the type Infrastructure.Objects.PredefinedTemplate is being accepted (possibly missing a user instruction or an assmbly-reference)
我已经做过的事情:
- 再次将引用的 DLL 的副本本地设置为 false 和 true,如某些网站上所述
- 检查构建定义是否清理工作区(确实如此)
- 向代码中的对象添加了程序集名称。是:
预定义模板到 Core.Infrastruct.Objects.Predefined 模板
无论我做什么,我都会不断收到这些错误!有谁知道发生了什么事?
UPDATE:
正如 James Reed 所说,我已将引用的项目放在 NuGet 包中。最后我不得不将两个项目放入 NuGet 包中。 TFS 上的构建现在可以运行,甚至可以部署到服务器。
由于调试功能,使用 NuGet 不是我的第一选择。但对于这两个项目来说,只保存对象和数据实体,这应该不是问题。
您缺少程序集参考。即包含以下定义的 dllTemplateId
在构建服务器上不可用。
如果这是在同一解决方案的项目中定义的,则项目引用有问题,请尝试删除并重新创建引用。
如果这是一个二进制引用那么你有 3 个选择
- 将项目添加到解决方案并使用项目引用。
- 将二进制文件签入源代码管理(不推荐)
- 使用 nuget 管理您的引用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)