【问题标题】:TFS 2010 - WebDeployment - indirect referenced assembly missingTFS 2010 - WebDeployment - 缺少间接引用的程序集
【发布时间】:2011-07-28 09:55:29
【问题描述】:

我们遇到了以下问题:

解决方案结构: 自动注册 参考:Repositories.dll

Web应用程序 参考:AutofacRegistration.dll

在我们的 Web 应用程序中,我们引用了 AutofacRegistration.dll,而这个程序集引用了 Repositories.dll。 Repositories.dll 在每个 IOC 容器的运行时实例化。

当我们在 VS2010 中构建解决方案并浏览 Web 应用程序时,一切正常,正如预期的那样。

当我们使用我们的构建服务器(TFS 2010)和使用 Web 部署时,Repositories.dll 缺少 web-app\bin 文件夹并且我们遇到了运行时异常(当我们想要在 Repositories.dll 中实例化一个类时) )

但是Repositories.dll在我们的放置位置,所以web部署目标没有复制这个文件,有什么办法解决这个问题吗??

【问题讨论】:

    标签: ioc-container tfsbuild web-deployment dynamic-assemblies


    【解决方案1】:

    您是否尝试过从 BuildTemp 位置复制任务到您的 Web 部署项目可以获取所需文件的位置?

     <Copy SourceFiles="$(OutDir)\Repositories.dll" DestinationFiles="web-ap\bin\Repositories.dll" />
    

    路径需要修改,但你明白了。我在 MSBuild 中执行了类似的功能来移动一个 dll 以供我们的安装程序拾取。

    【讨论】:

    • 嗨,我明白了。而且我认为它会起作用,但是它很麻烦,因为我们必须为每个直到运行时才使用的新程序集都这样做!还有其他想法吗??提前谢谢!
    • 是的,你会...如果所有未来的 dll 都在同一个文件夹中,另一个想法是使用通配符。你也可以随时创建一个构建任务并在构建过程中执行它并在 c# 中编写一个 sln 我同意,这需要一点维护,但我们的团队已经使用类似的设置顺利运行了一年,所以不要太担心它。
    • 带有通配符的想法很棒,我会在星期一尝试。您是否有一个链接显示如何使用 tfs 2010 进行操作?那将非常有帮助!谢谢你的回答!
    • 但我会感兴趣,为什么会有这种行为?它是优化的一部分吗?
    猜你喜欢
    • 2011-09-26
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多