从git
更新代码后,我在csproj
中出错,因为file
路径不存在。以下是启动错误的代码:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ZAL_Release|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\Release\bin\soft\</OutputPath>
<DefineConstants>TRACE;ZAL</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Optimize>true</Optimize>
<IntermediateOutputPath>C:\Users\HARRY~1\AppData\Local\Temp\vs543E.tmp\x64\ZAL_Release\</IntermediateOutputPath>
这个filepath
存在于Harry的电脑上但不在我的电脑上。有这个名字的人不知道他是如何创建的,所以我假设Visual Studio创建了它。这就是我有3个问题的原因:
1。 IntermediateOutputPath
中csproj
代码的目标是什么? (我已经检查过MSDN文档,但仍然不清楚)
2。 Harry如何生成代码(因为他不知道)?
3。是否可以使用通用变量来获取每个人都可以使用的文件路径,以防IntermediateOutputPath
运行该程序是必需的?{/ p>
答案 0 :(得分:6)
项目文件中的OutputPath
指定输出目录相对于项目目录的路径,例如&#34; bin \ Debug&#34;。
BaseOutputPath
指定输出文件的基本路径。如果设置,MSBuild将使用OutputPath = $(BaseOutputPath)\ $(配置)。语法示例:c:\ xyz \ bin \
BaseIntermediateOutputPath
创建所有特定于配置的中间输出文件夹的顶级文件夹。 obj是默认值。以下代码是一个示例:c:\ xyz \ _ obj \
IntermediateOutputPath
从BaseIntermediateOutputPath派生的完整中间输出路径(如果未指定路径)。例如,\ obj \ debug。如果重写此属性,则设置BaseIntermediateOutputPath无效。
您可以阅读here。通常,这些路径应该是相对的,绝不会导致任何主文件夹或其他特定于用户的路径。
有关如何在您的csproj文件中插入IntermediateOutputPath
的说明,请参阅this question。
编辑:实际上,这是一个模糊的解释,但我找不到任何其他信息。密切关注csproj文件的变化,以确定更改的原因。
您可以将IntermediateOutputPath
设置为相对路径。但是,您也可以删除整个标记并使用默认值。在我们的VisualStudio 2015项目文件中,我们只设置基础OutputPath
,一切正常。我认为中间对象的默认位置是/obj
。