在哪里定义了“TargetFrameworkSDKToolsDirectory”

时间:2014-07-04 08:09:51

标签: msbuild

我正在使用msbuild构建我的sln并收到错误消息“找不到'AxImp.exe'已经存在于%Program files(x86)%\ Microsoft sdks \ windows \ v8.1A下。但似乎找到了sdk从v8.0A,输出信息指出错误是在Microsoft.Common.targets文件中(代码见下文)。我没有找到“TargetFrameworkSDKToolsDirectory”的定义,任何人都可以帮助我吗?

环境:没有视觉工作室的winblue(4.5.1 sdk v8.1A)。

    <ResolveComReference
      TypeLibNames="@(COMReference)"
      TypeLibFiles="@(COMFileReference)"
      ResolvedAssemblyReferences="@(ReferencePath)"
      WrapperOutputDirectory="$(InteropOutputPath)"
      IncludeVersionInInteropName="$(IncludeVersionInInteropName)"
      KeyContainer="$(KeyContainerName)"
      KeyFile="$(KeyOriginatorFile)"
      DelaySign="$(DelaySign)"
      StateFile="@(_ResolveComReferenceCache)"
      TargetFrameworkVersion="$(TargetFrameworkVersion)"
      TargetProcessorArchitecture="$(ProcessorArchitecture)"
      NoClassMembers="$(ComReferenceNoClassMembers)"
      Silent="$(ResolveComReferenceSilent)"
      EnvironmentVariables="$(ResolveComReferenceEnvironment)"
      **SdkToolsPath="$(ResolveComReferenceToolPath)"**
      ExecuteAsTool="$(ComReferenceExecuteAsTool)"
      MSBuildArchitecture="$(ResolveComReferenceMSBuildArchitecture)"
      ContinueOnError="$(ContinueOnError)">

  <**ResolveComReferenceToolPath** Condition="'$(ResolveComReferenceToolPath)' == ''">$(**TargetFrameworkSDKToolsDirectory**)</ResolveComReferenceToolPath>

2 个答案:

答案 0 :(得分:6)

取决于您定位的版本和平台,但最新版本为C:\Program Files (x86)\MSBuild\12.0\Bin\Microsoft.NetFramework.CurrentVersion.props,请关注您的导入,即<Import Project=".targets" />。要获取值,请使用/v:diag运行MSBuild,并且将转储所有已评估的属性并开始。

答案 1 :(得分:1)

最终为我工作的是安装:

适用于Windows 8的Windows软件开发工具包(SDK)

即使我在寡妇服务器2016上

https://developer.microsoft.com/en-us/windows/downloads/windows-8-sdk

我猜错了:

  

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2428,5):错误MSB3086:任务找不到&#34; LC.exe&#34;使用SdkToolsPath&#34;&#34;或注册表项&#34; HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v8.0A \ WinSDK-NetFx40Tools-x86&#34;。确保已设置SdkToolsPath,并且该工具位于SdkToolsPath下正确的处理器特定位置,并且已安装Microsoft Windows SDK