12

在 Team city 中构建项目时出现以下错误。

相同的项目正在本地机器上构建。本地机器有 VS 2015 和 F# 4.0。

我的项目配置如下。

<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />


    <Choose>
        <When Condition="'$(VisualStudioVersion)' == '11.0'">
          <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets')">
            <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
          </PropertyGroup>
        </When>
        <Otherwise>
          <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
            <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
          </PropertyGroup>
        </Otherwise>
      </Choose>
      <Import Project="$(FSharpTargetsPath)" />

这是控制台应用程序。

4

1 回答 1

6

不久前我遇到了类似的问题,因为我正在使用管理员权限运行本地计算机,但是 Visual Studio 安装程序已在user级别设置环境变量,而不是system管理员使用的级别。因此,当以管理员身份编译时,FSharpTargetsPath没有从环境变量(如VisualStudioVersion.

在您的本地计算机上查看VisualStudioVersion在您成功使用的级别(系统或用户)设置了哪些环境变量值,以及其他变量,然后检查这些是否在 Team City 计算机上的相应级别设置.

也许您正在user本地机器和SystemTeam City 机器上运行。

在此处查看详细信息:https ://stackoverflow.com/a/21420306/152739

我希望这是有道理的。

于 2016-07-13T08:21:09.307 回答