首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual设计/评估/项目负载MSBuild条件

Visual设计/评估/项目负载MSBuild条件
EN

Stack Overflow用户
提问于 2019-05-13 13:07:34
回答 1查看 103关注 0票数 0

BuildingInsideVisualStudio MSBuild性质允许根据某个构建是否正在visual中进行编写条件:

代码语言:javascript
运行
复制
<MyProp Condition=" '$(BuildingInsideVisualStudio)' == 'true' ">Foo</MyProp>

但是,在评估/设计/项目加载过程中没有设置该属性,因此,例如在ccproj中,这样的属性不起作用:

代码语言:javascript
运行
复制
<Foo Condition=" '$(BuildingInsideVisualStudio)' == 'true' ">2.9</Foo>
<ProductVersion>$(Foo)</ProductVersion>

是否有VS评估/设计/项目负荷BuildingInsideVisualStudio当量?

编辑复制步骤:

  1. 在Visual 2017中,创建一个新的Azure Cloud Service项目。
  2. 关闭VS中的解决方案并在文本编辑器中打开ccproj,并将行<ProductVersion>2.9</ProductVersion> (可能有不同版本)替换为:

代码语言:javascript
运行
复制
<Foo Condition=" '$(BuildingInsideVisualStudio)' == 'true' ">2.9</Foo>
<Foo Condition=" '$(BuildingInsideVisualStudio)' != 'true' ">9.9</Foo>
<ProductVersion>$(Foo)</ProductVersion>
  1. 在Visual中打开解决方案,您将收到以下警告:

此项目与Microsoft工具的更新版本相关联。您必须下载这些工具并重新加载项目才能继续。

换句话说,在项目加载期间,BuildingInsideVisualStudio已评估为false,因此解决了不支持的9.9 ProductVersion

EN

回答 1

Stack Overflow用户

发布于 2019-05-14 03:50:47

例如,在ccproj中,这样的东西不起作用:

实际上,它在我这边运行得很好,所以我想财产的位置是否会造成这种差异。我在每一个地方都试过了,但不能复制同样的问题。

根据您的not set during evaluation/design/project-load,您是否使用该属性作为项目节点的条件,如:

代码语言:javascript
运行
复制
<Project... Condition="$(BuildingInsideVisualStudio) " ...>
      ...
</Project>

只有在这种情况下,该属性才不能工作,因为Project节点本身不支持Condition。我们必须用它inside <Project>,就像用它来做PropertyGroup,ItemGroup,Property.

是否有VS评估/设计/项目负荷BuildingInsideVisualStudio当量?

不清楚您的意思,但如果您的意思是像下面这样使用Project内容之外的属性,恐怕答案是否定的。

代码语言:javascript
运行
复制
<Project Condition="'$(BuildingInsideVisualStudio)' == 'true'">
   content of project if builds in vs
</Project>

<Project Condition="'$(BuildingInsideVisualStudio)' == 'false'">
   content of project if builds not in vs
</Project>

如果我误解了什么,请让我知道,更多的细节需要复制:)

编辑:

关于奥哈德的细节,我转载了这个问题。目前,BuildingInsideVisualStudio属性仅在构建过程开始时才能工作,只有在VS中构建时才会将其设置为True,而不是在VS中重新加载或打开时,这会导致问题。

但是,我不知道是否存在一个项目加载属性,比如:LoadingInsideVisualStudio.The答案可能是负的。

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

https://stackoverflow.com/questions/56113021

复制
相关文章

相似问题

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