5

当我在 Visual Studio 2012 下创建一个新的 F# 应用程序并构建它时,会出现同样的错误:

错误 1 ​​未为项目“TestingF.fsproj”设置 OutputPath 属性。请检查以确保您为此项目指定了有效的配置和平台组合。配置='调试'平台=''。如果其他项目试图遵循对此项目的项目到项目引用,此项目已卸载或未包含在解决方案中,并且引用项目未使用相同或等效项构建,则也可能出现此错误配置或平台。C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets 592 5 测试F

尝试使用配置管理器修改配置|平台,并卸载项目并编辑 .fsproj 文件。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<Tailcalls>false</Tailcalls>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<WarningLevel>3</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<DocumentationFile>bin\Debug\TestingF.XML</DocumentationFile>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>

使用任何其他 .Net 语言从未发生过同样的错误。

4

2 回答 2

5

以防万一其他人遇到此问题,以下是解决方法

该问题类似于 Gustavo 在上一个答案中解决的问题,但对于F# 项目,您似乎还需要解决另一个问题。
我在VS2013 Update 2中遇到过这个问题。编辑平台设置后出现问题,在配置管理器中添加 x64 平台。

该问题与.fsproj 文件中某些 XML 标记的顺序有关。请参阅下面的正确 .fsproj 文件。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" ...>
  <Import Project=.../>
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    ...
    <RestorePackages>true</RestorePackages>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    ...
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <Tailcalls>true</Tailcalls>
    ...
  </PropertyGroup>
  <PropertyGroup>
    <MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
  </PropertyGroup>

有时,在配置管理器中编辑配置后,配置平台的一个或多个 PropertyGroup 标记(Debug|x64 或 Release|x64)已在文件中向下移动。

因此,只需编辑 fsproj 文件并将这些标签向上移动。例如,将它们移动到定义MinimumVisualStudioVersion的组之前,如示例中所示。保存,重新加载项目并编译。

于 2014-07-31T10:23:28.823 回答
1

看一下错误:

[...] 确保您为此项目指定了配置和平台的有效组合。配置='调试'平台=''。此错误也可能出现 [...]

Visual Studio 正在尝试构建 Platform='',Configuration='Debug'。但是,您发布的项目文件指定了以下配置:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    . . .
</PropertyGroup>

也就是说,它告诉 Visual Studio 如何构建 'Debug'/'AnyCPU',而不是 'Debug'/' '。

如果您在其中插入“AnyCPU”,它应该会为您提供您正在寻找的结果。

可以在这里找到更详细的答案:https ://stackoverflow.com/a/13372073/556595

于 2012-11-14T20:03:26.290 回答