【问题标题】:Where can I download the .NET 4.5 Multitargeting Pack for my build server?在哪里可以为我的构建服务器下载 .NET 4.5 Multitargeting Pack?
【发布时间】:2013-06-17 17:19:04
【问题描述】:

我想在 TeamCity 中构建一个 .net 4.5/VS2012 解决方案。我的构建在安装了 VS2012 的代理上工作,但在没有 VS2012 的代理上,我收到如下警告:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(983,5):警告 MSB3644:未找到框架“.NETFramework,Version=v4.5”的参考程序集.

要解决此问题,请为此框架版本安装 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位于您想要的框架。

我可以在不安装所有 Visual Studio 2012 的情况下安装目标吗,就像使用 .NET 4.0 一样?

在哪里下载?

(我觉得这个问题很荒谬……但我已经搜索了又搜索了它!诚实!This site 建议它仅适用于 VS2012,这似乎很疯狂。)

【问题讨论】:

  • 您是否在构建代理上安装了 .NET 4.5 本身?这可能就足够了。
  • 是的,我已经下载了 48mb。似乎还不够。
  • 嗯。也许这个特定问题实际上只是给我构建警告,而不是错误。没什么大不了的,但我仍然很好奇是否有办法......
  • 我放弃了,刚刚安装了Visual Studio 2012 Express(用于网络)。这解决了它。
  • 这里也一样。在开发机器上使用构建代理构建良好。在构建服务器代理上失败并出现同样的问题。复制文件夹并重新启动没有帮助 - 猜测它没有正确向 GAC 注册它。现在安装 VS2012 for web ...该死的 MS 和你的程序集碎片!

标签: .net continuous-integration .net-4.5


【解决方案1】:

您无需安装任何 SDK。只需将以下文件夹从您的开发机器复制到您的 TFS 构建机器的同一文件夹中:

C:\Program Files (x86)\参考 程序集\Microsoft\Framework\.NETFramework\v4.5


如果这对您不起作用,请参阅:http://getdotnet.azurewebsites.net/target-dotnet-platforms.html,您可以在其中找到所需的 SDK。但是请注意@Lu55 的评论:.NET Framework 4.5 部分的“Windows 软件开发工具包 (SDK)”部分意外重定向到“Windows 8.1 的 Windows 软件开发工具包 (SDK)”,用于 . NET 框架 4.5.1.


@dotarj 提到:适用于 Windows 8 的 Windows 软件开发工具包 (SDK) 的链接实际上是针对 .NET Framework 4.5 的,链接是:https://developer.microsoft.com/en-us/windows/downloads/windows-8-sdk

【讨论】:

  • 这应该被标记为答案。这很简单,您可能已经在您的机器上拥有这些文件,并且它解决了这个问题。
  • 在使用上述页面时要保持警惕!从 .NET Framework 4.5 部分链接到“适用于 Windows 8 的 Windows 软件开发工具包 (SDK)”意外重定向到适用于 .NET Framework 4.5.1 的“适用于 Windows 8.1 的 Windows 软件开发工具包 (SDK)”
  • @cederlof 看起来您的 sdk 链接已损坏,这是一个新链接 getdotnet.azurewebsites.net/target-dotnet-platforms.html
  • 是的,这对我设置 Jenkins 服务器很有用。在我将文件添加到上述位置之前,我的构建控制台输出显示“找不到框架的参考程序集“.NETFramework,Version=v4.6.1”。”一旦我添加了它们,消息就消失了(然后我删除了重建,然后重新添加并重建以确保)。现在要修复我收到的其他 100 个错误...:p
  • 如@Lu55 所述,您将被重定向到适用于 Windows 8.1 的 Windows 软件开发工具包 (SDK)。 Windows 8 的 Windows 软件开发工具包 (SDK) 的链接实际上是 .NET Framework 4.5 的链接是:developer.microsoft.com/en-us/windows/downloads/windows-8-sdk。
【解决方案2】:

如果您正在寻找证据,它在 Windows SDK 中,这是安装程序:

注意:这仍然没有给你Microsoft.WebApplication.targets,你仍然需要手动复制它,或者在你的服务器上安装 VS。

我刚刚使用免费的Visual Studio Express 2013 修复了这个问题。

【讨论】:

【解决方案3】:

尝试安装适用于 Windows 8 的 Windows SDK,http://msdn.microsoft.com/en-us/library/windows/desktop/hh852363.aspx,它对我有用。

【讨论】:

  • 仅供参考 - 安装过程中有一个选项可以选择您要安装的内容。具体来说,.NET Framework 4.5 / 4.5.1 SDK 也有一个选项。
  • 这个解决方案对我有用,在我的情况下,它不是构建服务器,而是使用 Visual Studio 2015 的开发机器。
【解决方案4】:

这是对我有用的官方解决方案(TFS 2012) http://dotnetnsqlcorner.blogspot.nl/2012/11/microsoftcommomtargets-warning-983.html

简而言之:

  1. 为 .NET Framework 4.5 安装 SDK 或 Targetting-Pack。但他们是 相当大。
  2. 另一个选项是复制以下内容 文件夹从您的开发机器到您的 TFS 构建机器。 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5

【讨论】:

    【解决方案5】:

    此页面列出了每个 Visual Studio 版本的 .NET SDK。 http://getdotnet.azurewebsites.net/target-dotnet-platforms.html

    对于较小的下载,请选择“开发包”或“目标包”而不是完整的 Windows SDK。

    【讨论】:

    • 固定链接。微软继续推动它。
    【解决方案6】:

    我的操作系统是 Win7 x64

    我有同样的问题,根据另一个答案我找到了解决方案:

    我的系统中只有“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2”,为了解决这个问题,我将 v4.52 重命名为 v4 .5 并且它起作用了。

    所以从长远来看,我已经与 4.5.2 文件夹建立了一个连接点,并将连接点重命名为 v.4.5 并且它可以工作。 ?

    【讨论】:

      【解决方案7】:

      我在 Windows Server 2016

      上收到以下错误

      未找到框架“.NETFramework, Version=4.6.1”的参考程序集

      我在构建服务器“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework”上发现我没有所需的版本。

      然后我从https://visualstudio.microsoft.com/downloads/ 安装了最新的.NET Framework 版本

      【讨论】:

        【解决方案8】:

        我在使用 Visual Studio 2013 和 .NET 4.5 的项目中遇到了这个问题。似乎是个问题,因为我将项目移到了另一个目录。

        您可以通过验证项目文件中的HintPath 是否正确(.csproj 文件)来解决此问题。

        <HintPath>..\..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll</HintPath>
        

        由于我创建了一个新目录并将我的项目移动到该目录中,我发现HintPath 中的System.Runtime.WindowsRuntime.dll 的相对路径不再正确,因此无法找到该库。

        修复此路径为我解决了问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-28
          • 1970-01-01
          • 2013-02-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多