【问题标题】:Visual Studio: Can I make a property sheet's imports read only?Visual Studio:我可以将属性表的导入设为只读吗?
【发布时间】:2012-09-10 01:39:00
【问题描述】:

我在 Visual Studio 2010 中有一个属性表,可以导入其他一些属性表。我的属性表的导入部分如下所示:

  <ImportGroup Label="PropertySheets">
    <Import Project="something.props" />
    <Import Project="something.else.props" />
  </ImportGroup>

我想确保添加我的属性表的人不会意外更改我包含的表的导入顺序。例如这是错误的:

    <Import Project="something.else.props" />
    <Import Project="something.props" />

我查看了 Microsoft 的网站,但找不到阻止更改订单的方法。在 Visual Studio 中,智能感知显示 &lt;ImportGroup&gt; 的条件和标签,以及 &lt;Import&gt; 的条件、标签和项目。除了将文件设置为只读(由于我必须将其签入源代码管理,这不会持续),我可以在我的属性表中做些什么来防止订单被更改?

谢谢

【问题讨论】:

  • 为什么会出现这个问题?这些工作表是否包含冲突的设置?如果他们这样做,为什么有必要这样做?
  • @Hans 我希望没有必要。我试图避免一些可能的未来恶化。当继承顺序发生变化时,这可能是一个问题,正是您提到的原因。

标签: visual-studio-2010 visual-studio msbuild msbuild-4.0 propertysheet


【解决方案1】:

ImportGroup 的 Label 属性没有在 xml 架构 http://msdn.microsoft.com/en-us/library/5dy88c2e(v=vs.100).aspx 中定义,这真是太好了。叹息……

关于问题 - 由于 msbuild 属性优先级的性质,我怀疑您能否制定 100% 防弹解决方案,但简单地将您自己的导入移动到 msbuild 文件的底部将保证对您的价值观有某种“保护”。

【讨论】:

  • 感谢您的留言。我不明白将导入移动到文件底部会做什么。这是什么诡计吗?
  • 我重新阅读了这个问题,并认为我试图回答错误的问题。我认为您希望修复您的导入顺序,以确保没有人会用其他设置覆盖您的设置。但看起来我只是误解了这个问题并回答了我为自己制定的问题,而不是你的问题。对不起。忽略这个答案 - 这不是这里提出的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-29
  • 2021-01-22
  • 2011-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多