为什么“条件”属性不适用于“元素组”元素?

安德烈·布什曼

MS Visual Studio 2013。

无论WhenItemGroup元素可以有Condition属性(如我在MSDN看到)。但是我得到了不同的结果。

如果$(CAD_Year)是2015年,我预计AcRibbon不会referensed到我的项目:

<ItemGroup Condition= "'$(CAD_Year)' &lt; '2010'" >    
  <Reference Include="AcRibbon">
    <HintPath>$(CAD_SDK_Location)\$(Inc)\AcRibbon.dll</HintPath>
    <Private>False</Private>
  </Reference>
</ItemGroup>

但是我AcRibbon总是在解决方案浏览器中得到未解决的参考

但是此变体可以正常工作:

<Choose>
  <When Condition= "'$(CAD_Year)' &lt; '2010'">
    <ItemGroup>
      <Reference Include="AcRibbon">
        <HintPath>$(CAD_SDK_Location)\$(Inc)\AcRibbon.dll</HintPath>
        <Private>False</Private>
      </Reference>
    </ItemGroup>
  </When>
</Choose>

在这种情况下,AcRibbon仅当$(CAD_Year)小于2010时才引用。为什么会得到不同的结果?

安德烈·布什曼

我发现在MSDN的答案在这里

虽然条件导入语句在命令行MSBuilds中可以使用,但它们不能在Visual Studio集成开发环境(IDE)中与MSBuild一起使用。通过使用加载项目时设置的配置和平台值来评估条件导入。如果随后进行了需要重新评估项目文件中的条件的更改(例如,更改平台),Visual Studio将重新评估属性和项目的条件,而不是导入的条件。由于未重新评估导入条件,因此将跳过导入。若要解决此问题,请将条件导入放入.targets文件中,或将代码放入条件块中,例如“选择元素(MSBuild)”块。

我认为这对ItemGroup元素也是正确的...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么Fade过渡不适用于共享元素

为什么此代码不适用于svg元素?

为什么方向属性不适用于块级元素

为什么 box-sizing 不适用于 canvas 元素上的宽度/高度属性?

为什么CSS样式不适用于带有Vaadin元素的Angular 2组件?

为什么显示父元素时转换延迟不适用于子元素?

转换CSS属性不适用于<a>元素

Flexbox:元素阴影不适用于order属性

网格属性不适用于网格容器内的元素

JS元素属性设置不适用于HTML 5

HTML onchange属性不适用于select元素

所需的属性不适用于克隆元素

为什么如果以CSS中的“ Form”元素为目标,那么这些属性仅适用于第一个子元素,而不适用于所有子元素?

为什么 addClass 不适用于 Angular 中的 DOM 元素?

为什么CSS过滤器不适用于Chrome中的SVG元素?

为什么margin-top不适用于<i>元素?

.on()处理程序不适用于使用.html()创建的元素,为什么?

为什么“ z-index”不适用于具有转换的元素:translateY()

为什么动画不适用于所有类元素?

为什么宽度/高度不适用于未定位的伪元素?

CSS图像替换:为什么kellum方法不适用于按钮元素?

为什么z-index样式不适用于<body>元素?

为什么z-index不适用于具有绝对位置的div元素

为什么同级选择器不适用于 contenteditable 元素?

为什么我的CSS动画不适用于正确的元素?

为什么具有不同类型元素的集合不适用于迭代?

为什么 numpy 向量化函数不适用于每个元素

为什么写时复制不适用于具有参考元素的PHP Array?

为什么我的类样式不适用于动态创建的元素?Angularjs