我想在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,这看起来很疯狂。)
答案 0 :(得分:87)
您无需安装任何SDK。只需将以下文件夹从开发计算机复制到TFS构建计算机的同一文件夹中:
C:\ Program Files(x86)\ Reference 组件\微软\框架\ .NETFramework \ V4.5
如果这对您不起作用,请参阅:http://getdotnet.azurewebsites.net/target-dotnet-platforms.html,您可以在其中找到所需的SDK。但请注意来自@ Lu55的注释:从.NET Framework 4.5部分链接到“Windows 8的Windows软件开发工具包(SDK)”意外地重定向到“适用于Windows 8.1的Windows软件开发工具包(SDK)”。 NET Framework 4.5.1 。
@dotarj提到:适用于Windows 8的Windows软件开发工具包(SDK)的链接是:https://developer.microsoft.com/en-us/windows/downloads/windows-8-sdk
答案 1 :(得分:26)
如果您正在寻找证据,请点击Windows SDK这里的安装程序:
注意:这仍然不会为您提供Microsoft.WebApplication.targets
,您仍需要手动复制它,或在服务器上安装VS.
我刚刚开始修复此问题的免费Visual Studio Express 2013。
答案 2 :(得分:5)
尝试安装适用于Windows 8的Windows SDK http://msdn.microsoft.com/en-us/library/windows/desktop/hh852363.aspx,它对我有用。
答案 3 :(得分:3)
这是适用于我的官方解决方案(TFS 2012) http://dotnetnsqlcorner.blogspot.nl/2012/11/microsoftcommomtargets-warning-983.html
简而言之:
答案 4 :(得分:1)
此页面列出了每个Visual Studio版本的.NET SDK。 http://getdotnet.azurewebsites.net/target-dotnet-platforms.html
如需较小的下载,请选择'开发包'或者'定位包'而不是完整的Windows SDK。
答案 5 :(得分:0)
我的操作系统是Win7 x64
我有同样的问题,基于另一个答案,我找到了解决方案:
我只有" C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5.2 "在我的系统中并解决它我将v4.52重命名为v4.5并且它有效。
因此,从长远来看,我已经与4.5.2文件夹建立了联结并重命名了联结点v.4.5并且它可以正常工作。
答案 6 :(得分:0)
我在 Windows Server 2016
上遇到以下错误找不到框架“ .NETFramework,Version = 4.6.1”的参考程序集
我继续使用构建服务器“ C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework ”,并发现我没有所需的版本。
安装了最新的.NET Framework版本。答案 7 :(得分:0)
我在使用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>
由于我创建了一个新目录并将项目移动到该目录中,因此我发现System.Runtime.WindowsRuntime.dll
中HintPath
的相对路径不再正确,因此找不到该库
修复此路径为我解决了这个问题。