Msbuild 未为项目设置OutputPath属性

Msbuild 未为项目设置OutputPath属性,msbuild,jenkins,Msbuild,Jenkins,生成Jenkins/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 va

生成Jenkins/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]
c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(483,9):错误:
未为项目“.csproj”设置OutputPath属性。请查收
确保已指定配置和平台的有效组合
对于这个项目。配置='Latest'平台='AnyCPU'。你可能看到了
消息,因为您正在尝试在没有解决方案文件的情况下构建项目,并且
为此项目指定了不存在的非默认配置或平台。
[C:\\.csproj]
有什么想法吗

编辑

我的.csproj文件中有这个

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

bin \最新版本\

在文本编辑器中打开您的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>

真的
满的
假的
bin \最新版本\
调试;痕迹
促使
4.
真的

您是否有“最新”的生成配置?如果不将上述部分添加到csproj中。

要添加到@James所说的内容中,我发现如果我查看VS2013中的项目编译属性,则指定了构建输出路径。但是当我直接检查
.csproj
文件时,相关构建配置缺少
OutputPath
元素。因此,在VS中,我只需对输出路径进行一次小的编辑并将其反转,保存下来,然后将该值输入到项目文件中,然后我就能够进行构建。

正如perlyking所提到的,而不是编辑csproj XML,以下内容对我有效。以下是我使用的步骤

  • 打开项目属性
  • 选择Build选项卡
  • 在“输出”部分下,检查是否设置了输出路径。(如果未设置一个,请保存项目,它应该可以工作)
  • 如果已设置,请单击输出路径的“浏览…”按钮
  • 打开“文件夹选择”对话框后,在中向上导航一级 文件浏览器,然后重新选择输出文件夹并单击 “选择文件夹”按钮
  • 保存项目属性,它应该可以工作

  • 我只有在发布web项目时才出现此错误。设置发布配置文件时,我错误地选择了错误的生成配置。

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

    有问题的
    生成输出路径是:

    \bin\Output

    这个问题通过将其改为

    bin\Output


    构建输出路径可以在项目属性的
    构建
    选项卡中找到,并且
    配置
    平台
    的每个组合都有一个不同的路径

    我已经弄清楚了它是如何工作的(在VS2013/2015中没有更改sln/csproj属性)

  • 如果要生成.sln文件:
  • /p:ConfigurationPlatforms=Release/p:Platform=“任何CPU”
  • 如果要生成.csproj文件:
  • /p:Configuration=Release/p:Platform=AnyCPU
  • 注意
    “任意CPU”
    vs
    AnyCPU
  • 检查代码分析、fxcop、测试覆盖率(NCover)目标以及MSBUILD是否应正确定位。就我而言,它是:
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319
    但它可以是不同的,因为您可以看到,microsoft提供了6个cmd选项来构建代码库::AMD(使用cross plt、x86和x64选项)和Windows(cross、x86、x64),并且在使用默认JIT进行代码开发时(可以是PreJIT ngen.exe、econoJIT)

  • 我认为,使用powershell+msbuild可以处理的问题不止这些。可能对某人有帮助…

    我也有同样的问题。我已使用命令行更新了windows平台。目前我更新到windows@5.0.0版本然后您需要搜索文件名“SQLite3.UWP.vcxproj”。尝试将“v141”更改为“v140”。目前我正在使用Visual Studio 2015 professional。如果是Visual Studio 2017,则无需更改SQLite3.UWP.vcxproj文件中的版本。

    只是MSBuild中的一些service fabric内容出现了问题

    第一步是右键单击每个受影响的项目并调出它们的属性,选择Build选项卡,然后将平台目标设置为x64

    第二步是进入configuration manager并将每个项目设置为也使用x64进行调试和发布

    这是针对VS2017项目的。

    如果存在
    平台
    环境变量(在HP笔记本电脑上似乎是这样),并且MSBuild的目标包含对另一个Visual Studio项目的引用,则将显示OutputPath属性未为项目设置的错误消息

    重命名平台环境变量后,我的构建现在可以工作了


    参数
    /p:Platform=“Any CPU”
    似乎应用于目标解决方案,但不会“结转”到引用的项目。在我的例子中,错误消息表明引用的项目正在使用环境变量
    Platform=MCD

    此错误具有误导性,可能由其他问题引起。检查整个消息:

    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
    

    尽管在下拉列表中说AnyCPU是所选的平台,但实际的xml并不存在。添加它修复了项目与它引用的其他项目之间的不匹配。

    我有两个项目配置,
    Debug
    Release
    。当使用
    版本
    构建时,它抛出了这个错误。我发现的问题是,在
    csproj
    文件中,
    Debug
    config位于顶部,而
    Release
    config位于底部

    手动将
    Release
    build移动到
    Debug
    build f的正下方