该项目没有设置OutputPath属性

当我尝试从Visual Studio 2008中的x86debugging模式编译我的项目时,出现此错误。 当我看着抱怨的项目的属性组,我看到输出path被设置。

这是.csproj文件的属性组部分

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <DebugSymbols>true</DebugSymbols> <OutputPath>bin\x86\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <BaseAddress>285212672</BaseAddress> <FileAlignment>4096</FileAlignment> <DebugType>full</DebugType> <PlatformTarget>x86</PlatformTarget> <ErrorReport>prompt</ErrorReport> 

任何人都可以在这一点上发光吗?

注意:当我编译这个debugging和任何CPU它的工作。

已更新:错误1未为此项目设置OutputPath属性。 请检查以确保您已指定有效的configuration/平台组合。 Configuration ='Debug'Platform ='x86'

在VisualStudio中通过ConfigurationManager添加新configuration之后,发生完全相同的错误。

当为整个解决scheme(和每个项目)添加“生产”configuration时,显示OutputPath元素添加到csproj文件。

为了解决这个问题,我进入了项目属性的Build选项卡,将OutputPath从'\ bin \ Production \'更改为'\ bin \ Production'(最后删除'\')并保存更改。 这在csproj文件和项目中强制创buildOutputPath元素已成功build立。

听起来像是一个小故障给我。

你可以在VS 2008中看到这个错误,如果你的解决scheme中有一个项目引用了一个无法find的程序集。 如果程序集来自另一个不属于你的解决scheme但应该是的解决scheme,这可能会发生。 在这种情况下,只需将正确的项目添加到解决scheme即可解决问题。

检查解决scheme中每个项目的References部分。 如果他们中的任何一个旁边有一个红色的x,那么你已经find了你的问题。 解决scheme无法find该程序集引用。

错误信息有点令人困惑,但我已经看过很多次了。

如果你使用的是WiX看这个(有一个bug) http://www.cnblogs.com/xixifusigao/archive/2012/03/20/2407651.html

有时候,新的构buildconfiguration会被添加到文件的下一个.wixproj文件中,也就是说,通过其他不相关的XML元素将它们从兄弟configuration定义中分离出来。

只需编辑.wixproj文件,以便定义构buildconfiguration的所有<PropertyGroup>部分彼此相邻。 (要编辑.wixproj中的.wixproj,右键单击解决scheme资源pipe理器中的项目, .wixproj加载项目,再次右键单击 – >编辑YourProject.wixproj。编辑文件后重新加载。

该项目的Visual Studio中显示的错误(比方说A)没有问题。 当我查看每个项目的逐行构build输出窗口时,我发现它正在抱怨项目A中被称为程序集的另一个项目(B)。项目B被添加到解决scheme中。 但是在项目A中并没有将其作为项目参考而是作为来自不同位置的组装参考。 该位置包含为AnyCpu平台编译的程序集。 然后,我从项目A中删除了程序集引用,并添加了项目B作为参考。 它开始编译。 不知道这个修复程序如何工作。

我遇到了同样的错误,但问题原来是因为我在我的解决scheme中创build了一个新的configuration,在另一个解决scheme的引用程序集中不存在。

这可以通过打开相关的解决scheme并添加新的configuration来解决。

这篇文章给了我一个想法,在我已经确认我的解决scheme中的所有项目都具有正确的configuration后,检查引用的程序集:

http://gabrielmagana.com/2010/04/solution-to-the-outputpath-property-is-not-set-for-this-project/

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

另一个疯狂的可能性:如果你遵循一个简单的源代码控制安排,把Branch \ Main,Main和Release放在一起,你最终会添加一个来自Main而不是Branch \ Main的项目(假设你的工作scheme是Branch \主),你可能会看到这个错误。

解决scheme很简单:引用正确的项目!

在将项目添加到解决scheme时,我遇到了这个问题,然后在同一解决scheme中的另一个项目中引用它 – 在参考上有黄色警告图标,注意path是空的。

这个解决scheme类似于@Amzath的build议,我的项目正在编译不同的目标框架,例如。 .NET 4.0 vs 4.5。

在我的情况下,我的应用程序的内置地址被设置为closures的另一台计算机,所以我打开并重新启动VS,问题解决了。

另一个原因:在解决schemeX中,将项目A中的项目引用添加到项目B.但是,已经包含项目A的解决schemeY现在已被破坏,直到您还将项目B添加到解决schemeY中。

在添加新configuration并删除了“debugging”和“发布”configuration后,我遇到了同样的问题。 在我的情况下,我正在使用cmd文件来运行构build和发布的过程,但同样的错误被抛出。 我的解决scheme:在csproj文件中:

 <Configuration Condition=" '$(Configuration)' == '' ">Debug< /Configuration> 

如果我没有指定一个明确的configuration,将configuration设置为“debugging”。 将节点值从“debugging”更改为我的自定义configuration后,一切顺利。 希望这也将帮助谁阅读这:)

这发生在我身上,因为我已经将下面一行移到了.csproj文件的开头:

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/> 

它需要放置在定义您的Configuration | Platform的PropertyGroup之后。

我有同样的问题,只需编辑.wixproj使所有<PropertyGroup Condition=" '$(Configuration)|$(Platform)' ... >元素并排。

这解决了我的问题

我使用的WiX项目在x64的configurationpipe理器中是硬件设置的。 在为解决scheme制作自定义操作项目时,它在.csproj文件中将所有内容默认为x86 。 所以我卸载了这个项目,把所有的x86x64 ,保存了,重新加载了,然后好好的去编辑它。

我不明白为什么我必须这样做。 configurationpipe理器被设置为x64,但只是不会被设置在csproj文件:(