【问题标题】:TFS build fails: The type X exists in bothTFS 构建失败:类型 X 存在于两者中
【发布时间】:2014-08-05 08:39:53
【问题描述】:

我们正在尝试在 TFS 构建服务器中构建一个网站(不是 webApp,框架 3.5)。 构建被定义为在每次签入时触发。构建在本地机器(VS2010)上成功通过。 但是,由于以下错误,它无法在 TFS 构建服务器(2012)上构建:

类型 X 存在于两者中 'c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET 文件....\App_Web_wk4sskb7.dll' 和 'c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET 文件....\App_Web_wazvuwk6.dll'

我们认为原因是 2 个 MasterPages 从同一页面继承,但我们将相同的项目复制到新的解决方案并定义了相同的构建定义(在不同的 TFS 项目下)并且构建成功。

我们想弄清楚这怎么可能,因为这对我们来说不是一个合适的解决方案。 我们希望原方案顺利通过。

【问题讨论】:

  • 我强烈建议您从网站切换到 WebApplication。使用 WebApp 时,您会很少遇到此类问题。

标签: c# visual-studio-2010 tfs build


【解决方案1】:

我们在发布网站时多次遇到同样的问题。我们总是通过删除“bin”文件夹的内容并重新发布网站来解决它。

我真的不知道是什么导致了 .NET 框架中的这个问题。如果有人能解释一下就好了。

【讨论】:

    【解决方案2】:

    这不仅仅是网站首次启动时创建临时 asp.net dll 的情况吗? 我假设 .. 包含一个带有网站名称的文件夹 我之前遇到过类似问题,请尝试清除临时文件夹,如果可行,请在构建过程中包含删除任务

    【讨论】:

      【解决方案3】:

      问题是我们有 2 个具有相同 CodeFile 的 MasterPage。 我们将它们分开,构建成功通过。

      【讨论】:

        【解决方案4】:
        1. 清空 bin 文件夹
        2. 构建 VS 2012

        构建成功 为我工作

        【讨论】:

          【解决方案5】:

          我们在 Azure CI Pipeline 中构建时遇到了同样的问题。 问题是更改了一些控制标记名称

          当前:

          <%@ Register Src="CustomerInfo.ascx" TagName="CustomerInfo" TagPrefix="uc1" %>
          

          改为:

          <%@ Register Src="CustomerInfo.ascx" TagName="CustomerInfoA" TagPrefix="uc1" %>
          

          解决了问题。

          【讨论】:

            猜你喜欢
            • 2015-09-28
            • 2011-01-15
            • 1970-01-01
            • 2014-09-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多