Msbuild “在哪里?”;TargetFrameworkDKToolsDirectory“;定义

Msbuild “在哪里?”;TargetFrameworkDKToolsDirectory“;定义,msbuild,Msbuild,我正在使用msbuild生成我的sln,并收到错误消息“找不到已存在于%Program files(x86)%\Microsoft sdk\windows\v8.1A下的'AxImp.exe'。但似乎是从v8.0A中查找sdk,输出信息指出错误在Microsoft.Common.targets文件中(代码见下文)。我没有找到“TargetFrameworkDKToolsDirectory”的位置“定义好了,有人能帮我吗 环境:不带visual studio的winblue(4.5.1 sdk v

我正在使用msbuild生成我的sln,并收到错误消息“找不到已存在于%Program files(x86)%\Microsoft sdk\windows\v8.1A下的'AxImp.exe'。但似乎是从v8.0A中查找sdk,输出信息指出错误在Microsoft.Common.targets文件中(代码见下文)。我没有找到“TargetFrameworkDKToolsDirectory”的位置“定义好了,有人能帮我吗

环境:不带visual studio的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>

$(**目标框架DKTools目录**)

取决于您的目标版本和平台,但最新版本为
C:\Program Files(x86)\MSBuild\12.0\Bin\Microsoft.NetFramework.CurrentVersion.props
,请遵循导入,即
。要获取这些值,请运行带有
/v:diag
的MSBuild,所有已计算的属性都将被转储,并且开始运行。

最终对我有效的是安装:

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

即使我在widows服务器2016上

我猜线索是我的错误:

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


根据您的工具,您将获得类似于C:\Program Files(x86)\Microsoft SDK\Windows\v8.1A\bin\NETFX 4.5.1 tools\n的路径。我正在使用/v:diag运行MSBuild,正如您所建议的,并且我的生成代理上的TargetFrameworkDKToolsDirectory为空。你知道我该怎么解决这个问题吗?