我们正在从VS2008转向VS2010和TFS。
目前我们有一个解决方案,其中有十几个项目内置到DLL中,然后放入GAC以及此解决方案中的3个网站项目,这些项目构建使用这些放入GAC的DLL。 / p>
在VS2008中,我们有使用gacutil注册它们的后期构建事件,这一切都在本地开发人员机器上运行良好,但它不适用于TFS和Build代理。我不得不删除这个帖子构建事件。
现在的问题是网站无法构建,因为DLL不在代理正在构建的构建机器上的GAC中。
我尝试从网站上引用VS2010中的项目,但是这样就可以从web.configs中删除程序集引用,然后在构建/发布时将dll复制到bin文件夹,这不是我们想要的。
这些DLL将在生产中的GAC中使用,并且3个网站都使用它们,因此我们不希望它们出现在BIN文件夹中。
我们还有第三方DLL,它们也将在GAC中用于所有3个网站。
在VS2010和TFS中使用它的正确方法是什么?
答案 0 :(得分:1)
将DLL安装到GAC中可能是版本管理和部署的真正难题。尝试创建一个“Lib”文件夹以保留所有第三方DLL。我们在工作中这样做并且工作正常。这也不是XCopy部署的问题。 有关详细信息,请参阅help with TFS and referenced DLLs。
答案 1 :(得分:0)
要将DLL注册到GAC,您需要管理员级权限,默认情况下不是Team Build Service帐户。这就是它失败的原因。
您有两个选择:
有些人会告诉你1.很糟糕,因为你不应该给帐户管理级别,因为它很糟糕。
有些人会告诉你2.糟透了,因为事情变得复杂,而且你不会按实际发货的方式测试事物。
我的建议是1.因为: - 这很容易做到 - 您不会破坏当前的架构 - 管理层对服务的风险不会那么大,真的......