2010-08-27 43 views
3

在我的csproj的OutputPath设置为以下几点:OutputPath设置为bin x86 release,但在msbuilding时显示为obj x86 release?

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> 
<DefineTrace>true</DefineTrace> 
<OutputPath>bin\x86\Release\</OutputPath> 
.... 
</PropertyGroup> 
在我的恶性脚本

,我有这样的:

<msbuild project="${demo.solution}"> 
<property name="Configuration" value="release"/> 
     <property name="OutputPath" value="${output.dir}"/> 
     <property name="Platform" value="x86"/> 
</msbuild> 

为什么日志显示该DemoProject.dll被复制从obj \ x86 \ release?

....

[的msbuild]项目 “Demo.sln”(1)正在建立 “DemoProjec1.vbproj”(3)在节点0(默认目标)。

[MSBuild的来自复制文件 “OBJ \ 86 \发布\ DemoProjec1.dll” 为$ {output.dir} \ DemoProjec1.dll”

[的MSBuild] DemoProjec1 - > $ {} output.dir \ DemoProjec1.dll

[的msbuild]完成建筑工程 “DemoProjec1.vbproj”(缺省目标)。

....

某种方式从obj中的DemoProject.dll是相比DemoProject尺寸不同.dll从bin

回答

2

obj\x86\release是用于发布配置的IntermediateOutputPath

您的项目编译在中间目录中,然后将结果文件复制到您的输出目录中。在您的Nant文件中,您覆盖OutputPath${output.dir},因此您的文件从obj\x86\release复制到${output.dir}

+0

感谢您的详细回复madgnome。我看到我错了。但是我仍然不明白输出文件的大小与obj和bin的大小有什么不同。它发生在一些项目和一些特定的输出文件中。 – 2010-09-01 01:01:45

相关问题