首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><SolutionDir>元素在.csproj文件中的用途是什么?

<SolutionDir>元素在.csproj文件中的用途是什么?
EN

Stack Overflow用户
提问于 2017-10-15 08:16:06
回答 1查看 3.2K关注 0票数 3

我的.csproj文件包含以下声明:

代码语言:javascript
复制
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     ...
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
  </PropertyGroup>

我的期望是,当您直接从项目目录构建项目并且不指定/p:SolutionDir=参数时,需要发现解决方案文件。但是,..\不会自动解析为绝对路径,因此,如果您有与解决方案相关的依赖项,那么它是无用的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-15 08:50:30

它看起来是添加到您的项目文件中,以允许独立于解决方案文件构建csproj文件,方法是将SolutionDir属性设置为未设置为正确的值(如果调用msbuild my.sln,但在执行msbuild my.csproj时不这样做)。

我假设csproj文件(或导入的props/目标文件)中的其他构建逻辑在某个地方使用$(SolutionDir),因此如果没有使用这个条件声明设置属性,它就会失败。

MSBuild解释相对于csproj文件的路径,并通过将工作目录设置为csproj文件的位置来执行所有命令,因此..\在几乎所有用例中都应该工作。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46753078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档