该OutputPath属性未设置项目(The OutputPath property is not

2019-07-20 17:20发布

建立我的詹金斯/ MSBuild的解决方案给了我这个错误

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(483,9): error : 
The OutputPath property is not set for project '<projectname>.csproj'.  Please check to
make sure that you have specified a valid combination of Configuration and Platform 
for this project.  Configuration='Latest'  Platform='AnyCPU'.  You may be seeing this 
message because you are trying to build a project without a solution file, and have
specified a non-default Configuration or Platform that doesn't exist for this project. 
[C:\<path>\<projectname>.csproj]

有任何想法吗?

编辑

我有这个在我的.csproj文件

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Latest|AnyCPU'">
    <OutputPath>bin\Latest\</OutputPath>
  </PropertyGroup>

Answer 1:

在文本编辑器打开你的csproj,看看你是否有一个属性组部分,应该是这个样子:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Latest|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Latest\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
  </PropertyGroup>

你有一个“最新”构建配置? 如果不添加上述部分到的csproj。



Answer 2:

我已经想通了,它是如何工作(没有在VS2013 / 2015年改变SLN /的csproj属性)。

  1. 如果你想建立.sln文件:
    1. /p:ConfigurationPlatforms=Release /p:Platform="Any CPU"
  2. 如果你想建立的.csproj文件:
    1. /p:Configuration=Release /p:Platform=AnyCPU
      1. 注意到"Any CPU" VS AnyCPU
  3. 检查代码分析,FxCop的,测试覆盖率(NCover)的目标,还有MSBUILD应正确定位。 在我的情况下,它:
    1. C:\Windows\Microsoft.NET\Framework64\v4.0.30319但它可以是你可以看到微软已经给6个CMD选项构建代码库:: AMD(交叉PLT,86&64选项)和Windows不同(交叉,86,64),并且还当代码开发与发生默认JIT(也可以是PreJIT ngen.exe,econoJIT)

我觉得不止这个故障可以处理使用电源外壳+的MSBuild。 可能有人有帮助...



Answer 3:

正如perlyking,而不是编辑的csproj XML以下为我工作提到。 下面是我使用的步骤。

  1. 打开项目属性。
  2. 选择Build选项卡。
  3. 下的输出部分,检查输出路径设置。 (如果没有设置一个,保存项目,它应该工作)。
  4. 如果它被设置,点击输出路径的“浏览”按钮。
  5. 当文件夹选择对话框打开,导航到上一级的文件浏览器,然后重新选择输出文件夹,然后单击“选择文件夹”按钮。
  6. 保存该项目的属性,它应该工作。


Answer 4:

要添加到什么@詹姆斯说,我发现,如果我看着在VS2013项目编译属性, 指定构建输出路径。 但是,当我检查.csproj直接文件时, OutputPath元素失踪了有关构建配置。 因此,在VS,我只是做和扭转一个小编辑到输出路径,保存它,这踢的价值到项目文件中,而当时我能够建立。



Answer 5:

我只当我发表我的Web项目这个错误。 建立发布配置文件时,我错误地选择了错误的生成配置。



Answer 6:

我有同样的问题。 我以命令行更新了我的windows平台。 目前,我得到了更新,以windows@5.0.0版本。 然后,你需要搜索的文件名“SQLite3.UWP.vcxproj”。 尝试改变“V141”为“V140”。 目前我使用的Visual Studio 2015年专业。 如果它的Visual Studio 2017年,那么就没有必要在SQLite3.UWP.vcxproj文件来改变版本。



Answer 7:

在我的情况下发生这种错误,因为输出文件夹包含一个点,使其相对于当前目录。 这个问题是通过移除点解决。

违规的Build output path是:

.\bin\Output

该问题是由将其更改为解决

bin\Output

构建输出路径可以在发现Build项目属性的选项卡,并有针对的每个组合不同的路径ConfigurationPlatform



Answer 8:

刚刚在MSBuild的一些服务织物的东西的问题。

第一步是右键单击每个受影响的项目,拉动了他们的属性,选择生成选项卡,然后在平台目标设置为64。

第二步是进入配置管理器,并设置每个项目也使用了64位调试和发布。

这是一个VS2017项目。



Answer 9:

OutputPath属性未设置项目的错误信息,如果出现Platform环境变量存在(似乎对惠普笔记本电脑的情况发生)和MSBuild的目标包含对另一个Visual Studio项目的引用。

重命名平台环境变量我现在构建工作后。

看来参数/p:Platform="Any CPU"被应用到目标解决方案,但并没有“结转”来引用的项目。 在我的情况下,该错误信息表明引用的项目使用环境变量Platform=MCD



Answer 10:

此错误是误导性的,可以由不同的问题引起的。 检查整个邮件:

The OutputPath property is not set for project 'myproject'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='myconfig'  Platform='AnyCPU'.  This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform.

我的构建配置缺少在此的csproj节点:

<PlatformTarget>AnyCPU</PlatformTarget>

尽管说AnyCPU是在下拉列表中选择的平台,实际的XML是不存在。 添加它固定的项目和其他项目有人引用之间的不匹配。



Answer 11:

我有两个项目的configs, DebugRelease 。 当Release被用来构建,这是引发此错误。 我发现的问题是,在csproj文件中, Debug配置为接近顶部和Release配置在底部一路。

手动移动Release构建略低于Debug构建固定它。

我假设我做了一件正确设置时,我的构建配置,因为这并不觉得这是我应该有手动调整。



Answer 12:

我使用的MSBuild建立多个文件的.sln,并增加了一个新的台阶,以建立一个.csproj的文件为好,当我遇到这个错误。

@ SAURABH的回答强调了问题的根源。 然而,固定时,增加/p:Platform=AnyCPU到的MSBuild Arguments部分没有解决问题。 其实,我需要更新在构建跨平台的价值。

所有其他构建步骤都使用$(BuildPlatform)变量值(这正好是“任何CPU”,里面有一个空格)。

(如果我一直在建设多个.csproj的文件,我可能会创造了AnyCPU平台第二个变量)。



文章来源: The OutputPath property is not set for project