gpt4 book ai didi

visual-studio - MSBuild 在 VS2010/2013 成功的地方失败 - 混合 3.5 和 4.0 - 为什么?

转载 作者:行者123 更新时间:2023-12-04 21:43:02 25 4
gpt4 key购买 nike

我在工作中遇到以下情况,想听听一些建议,因为我几乎没有想法并且失去理智。

我有一个包含我们的服务器端项目的解决方案 - 一些要部署到 IIS 的 Web 应用程序和几个带有逻辑的类库。它最初是在 .NET 3.5 下的 VS2010 中制作的(据我所知)。该解决方案随着时间的推移进行了升级,现在还包含一些面向 .NET 4.0 的项目。

该解决方案在运行时使用 VS2010 和 VS2013(我现在主要使用)在我的机器上构建并按预期工作 - 一台 32 位 Windows 7 SP1 机器,具有完整的 VS2013 安装等。该解决方案还通过在我的机器上使用命令行 MSBuild(所以 32 位)。

当从我们的 64 位 TFS 2010 服务器构建时,构建失败引用从 .NET 3.5 程序集到 .NET 4.0 基本程序集(如 mscorlib 等)的间接引用。

客户端解决方案(带有 WPF 'shell' 和更多类库逻辑项目)以及两者之间的共享项目都是 .NET 3.5,并且在我的机器和 TFS 服务器上都可以很好地构建。

阅读后我到目前为止注意到的内容 THIS是 TFS 服务器上的构建顺序不同。我尝试了提到的主要/第一个问题的解决方法,但到目前为止没有任何帮助。还没有尝试过第二个(在 32 位上强制编译或影响如上所述),但我要去。

无论哪种方式,以下是服务器解决方案构建订单的简化和命名,我认为可以解释正在发生的事情。

VS2010/VS2013:

  • Common.csproj//.NET 3.5 “客户端”和“服务器”解决方案之间的共享/通用代码。
  • Server.Common.csproj//.NET 4.0 服务器端项目仅共享/通用代码。引用文献。
  • Client.Common.csproj//.NET 3.5 客户端项目仅共享/通用代码。引用文献。
  • Server.DomainModels.csproj//.NET 4.0 服务器端类库。引用 Server.Common 和 Common。
  • Agents.csproj//.NET 3.5 Client 端类库,用于调用服务端Web Application 项目,各种代理。引用 Client.Common 和 Common。

  • 此订单正确构建。

    但是,当在前面提到的 TFS2010 服务器版本上运行时,我得到了这个命令:
  • Server.DomainModels.csproj(上面是#4)
    -> 1. Common.csproj(调用以满足上述引用)。
    -> 2. Server.Common.csproj(也调用以满足上面的引用)。
  • “正确/原始”订购的 Common.csproj(已经在上面构建,#1 之前)
  • “正确/原始”订购的 Server.Common.csproj(已经在上面构建,#2 之前)
  • Agents.csproj(之前#5)
    -> 1. Client.Common.csproj (#3 之前,在#5 之前按原始顺序构建)

  • Client.Common.csproj 项目 (.NET 3.5) 无法构建,因为它无法满足其对 Common.csproj(大概是针对 .NET 3.5)的引用,因为显然它现在间接引用了 .NET 4.0 程序集 - 如它的构建是为了满足 Server.DomainModels.csproj 项目 ( .NET 4.0 ) 的引用。

    这对我来说没有意义,但它似乎是发生了什么。
    对于检查/更改有关此问题的任何建议或建议,我将不胜感激。

    先感谢您。

    最佳答案

    所以,我再次浏览了链接的博客文章,这次也是评论。一个评论是指 msbuild 仍然查看解决方案定义的顺序,而不是文章说明的顺序。

    我试过了,把 Common 和 Server.Common 移到最上面—— Eureka !它现在可以在 tfs 的 msbuild 上正确构建。

    我的一些转换仍然只有在通过 tfs 运行时才会失败,但至少我更接近完成它。

    关于visual-studio - MSBuild 在 VS2010/2013 成功的地方失败 - 混合 3.5 和 4.0 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21441284/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com