“输出path属性没有为这个项目设置”错误

我在Visual Studio 2008中有一个多项目解决scheme。我刚刚在解决scheme中添加了一个名为Release-VersionIncrement的新configuration,将“使用版本”configuration指定为基准。 所有项目文件都使用该configuration进行更新。 但是,当我尝试使用此configuration编译特定项目时,出现以下错误:

错误5未为此项目设置OutputPath属性。 请检查以确保您已指定有效的configuration/平台组合。 Configuration ='Release-VersionIncrement'Platform ='AnyCPU'C:\ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion

这里发生了什么事? 该项目在Release或Debugconfiguration中编译得很好。

通常这发生在项目文件的OutputPath属性为空时。 项目文件只是MSBuild文件。 在Visual Studio中进行编辑:右键单击项目,select“卸载项目”,然后右键单击卸载的项目,然后select“编辑…”。

查找Release-Versionincrement属性组。 它应该看起来像

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-VersionIncrement|AnyCPU' "> <OutputPath>bin\Release-VersionIncrement\</OutputPath> <DefineConstants>TRACE</DefineConstants> <Optimize>true</Optimize> <DebugType>pdbonly</DebugType> <PlatformTarget>AnyCPU</PlatformTarget> <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression> <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile> <ErrorReport>prompt</ErrorReport> </PropertyGroup> 

那里最重要的是OutputPath,它是否存在于你的项目文件中? 如果没有添加,然后再试一次。

当我们的构build代理被configuration为运行平台“ 任何CPU ”(在Visual Studio中显示空格)而不是“ AnyCPU ”(项目文件中指定的一个字)时,我也看到了这个错误。

当我第一次使用MSBuild时,我遇到了同样的问题。 我的解决scheme是:肯定使用OutputPath属性。 喜欢这个:

 msbuild XXX.csproj /p:OutputPath=bin\Debug. 

在我们的例子中,我们正在惠普开发者机器上运行一个构build脚本。 惠普有一些他们为自己的目的而设置的环境variables,其中一个是PLATFORM(显然,用于“HP Easy Setup”)。

删除PLATFORM环境variables工作。

你也可以通过指定平台来进一步validation你的构build脚本
msbuild /p:Platform=AnyCPU

如果Visual Studio特别抱怨“Platform ='BPC'”,那么您可以通过删除“Platform”环境variables来轻松解决此问题。

删除这个坏男孩。

现在重新启动Visual Studio,你很好走。

就像“ Richard Dingwall ”暗示的那样,问题与使用“ 任何CPU ”的显示版本而不是实际读取“ AnyCPU ”的MSBuild版本的VS有关,

进入Build / New Build Definition或Edit Build Definition – > Process – > Configurations来打开组态select对话框,在“ Platform ”中select“ Any CPU ”,手动添加“ AnyCPU

如上所述,必须设置OutputPath ,并且必须将其放在.wixproj文件中的<Import Project="$(WixTargetsPath)" />之前

我已经删除了Platform环境variables(是BNB或者像那样的)。 问题没有了。

当我遇到这个问题时,我正在将x64平台添加到我的解决scheme中。

在我的情况下,错误读取:

为默认目标构build$ / ProjectDirectory / ProjectName.csproj。 c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(484):未为项目ProjectName.csproj设置OutputPath属性。 请检查以确保您为此项目指定了有效的Configuration和Platform组合。 Configuration ='Debug'Platform ='x64'。 您可能会看到此消息,因为您正尝试构build一个没有解决scheme文件的项目,并且指定了一个非默认的Configuration或Platform,该项目不存在。

我知道OutputPath应该没问题,因为这是一个现有的,有效的VS解决scheme。 所以我转到了下一个提示 – “configuration和平台的有效组合”。

啊哈! Visual Studio正在尝试构buildConfiguration='Debug', Platform='x64' 。 看着我的项目文件,我意识到x64并没有被列为可能的平台之一。 换句话说,我有下面的条目(缩短):

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PlatformTarget>x86</PlatformTarget> <OutputPath>bin\x86\Debug\</OutputPath> . . . </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PlatformTarget>x86</PlatformTarget> <OutputPath>bin\x86\Release\</OutputPath> . . . </PropertyGroup> 

简单的修复然后:只需添加x64条目!

我复制/ paste'd x86条目,并将其更改为使用x64。 注意我也修改了path,所以这些不会覆盖x86版本:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> <PlatformTarget>x64</PlatformTarget> <OutputPath>bin\x64\Debug\</OutputPath> . . . </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> <PlatformTarget>x64</PlatformTarget> <OutputPath>bin\x64\Release\</OutputPath> . . . </PropertyGroup> 

正如Scott S,我不得不删除“Platform”环境variables

然后重新启动VS,没关系:没有更多的错误信息…

我努力了一会儿,然后卸载,build立,然后在解决scheme中重新加载有问题的项目,然后MSBuild正常运行。

这个问题与我的项目configuration有关。 这是情景:

解决scheme参考:

项目X引用项目Y.
项目Y

解决schemeB(我正在尝试构build的)引用:

项目X项目Z

我的解决scheme是为解决schemeA创build一个同名的configuration,重build它,然后重build解决schemeB.这解决了问题。

我有这个相同的错误信息。 这是由于引用了一个被卸载的链接器所不需要的项目(否则在编译时会失败)。 删除违规参考解决了这个问题。

在我的情况下(VS2010),我删除了“Build”选项卡上的“OutputPath”框中的string,并将其留空。 然后我重build了解决scheme。 build立成功,VS已经将当前目录“./”插入到“OutputPath”中。 我用我的pathreplace当前目录“./”(“bin \ x64 \ Release \” – 足以说这是VS首先抱怨的确切的文件夹path)并且重build再次成功。

在我的情况下,OutputPath在项目文件中被设置了属性。 但卸货,重装然后重build固定它。

当我在解决scheme中添加新的解决schemeconfiguration时,出现错误:“OutputPath属性未设置为项目X.请检查以确保您为此项目指定了有效的Configuration和Platform组合。Configuration ='QA 'Platform ='AnyCPU'。 如果某个其他项目正在尝试执行该项目的项目到项目引用,该项目已被卸载或未包含在解决scheme中,并且该引用项目不使用相同或等同的configuration或平台构buildProjectY “。

在我的情况下,问题是由于突出部分的错误描述。 我的解决scheme的项目X部分是对另一个解决scheme(不同分支)ProjectY的项目引用。

我解决了这个问题,通过修改项目X在当前的解决scheme中使用项目引用ProjectY。 希望这可以帮助有类似问题的人。

在我的情况下,新的“PropertyGroup”XML块生成在文档的底部。 我刚刚replace了其他“PropertyGroup”标签后,这解决了这个问题。

我在一个引用现有项目的新解决scheme中创build了一个新项目。 当我添加一个现有的项目(比如说项目1)并且尝试构build而不添加项目1引用的其他项目时,会发生此错误。

只要确保所有相关的项目都添加到新的解决scheme中,并且错误消失。

我有同样的错误,所以我看了项目设置,并在“生成”部分是“生成输出path”选项。 价值是空的。 于是我填写“bin \”值错误消失了。 它解决了我的问题。

如果您决定将OutputPath设置为参数,并且您的path如下所示: bin\Release\\然后请记住在末尾添加\/p:OutputPath=bin\Release\\\\我花了一段时间意识到是这样的

我有同样的问题。 我通过清理和重build项目来修复它。

我遇到了同样的问题,唯一有帮助的解决scheme是在每个NCrunch项目中手动设置构buildconfiguration。

打开NCrunch窗口,您可以在其中看到每个构build的状态以及可以看到构build失败的位置。 右键单击无法构build的项目,然后点击“configuration选定的组件”,在“构build设置”下的属性“使用构buildconfiguration”将其设置为例如“debugging”,属性“使用构build平台”将其设置为例如“AnyCPU”。 (请注意,您设置的构build和configuration设置必须存在于您的konfigration设置中)

为所有的项目做这个,但不是为了你的testing项目。 在这之后,一切正常。

我遇到了同样的问题,我通过将缺失的configuration添加到失败的项目中来解决这个问题。

BUILD – > Configuration Manager – >

在configuration列添加

注意:这只是因为我有自定义configuration,新创build的项目没有configuration。

如果有任何人在NCrunch日志中获取这个值,请检查PropertyGroup是否在属性组之前使用这些值来定义值“Debug”/“Release”和“AnyCPU”/“x86”。

 <PropertyGroup> <!-- this one first --> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <XXX>...</XXX> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> <XXX>...</XXX> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> <XXX>...</XXX> </PropertyGroup> 

为我工作。

就我而言,我尝试将包含我的自定义configuration的属性组移到标准configuration下。 它为我解决了它。