在Visual Studio 2010项目模板中创建自定义属性?
问题描述:
我试图在我的项目模板的XML级别创建一个自定义命名属性来存储一个布尔值,我可以用它来跟踪我在项目模板文件中进行的一些导入的成功。在Visual Studio 2010项目模板中创建自定义属性?
我希望能够申报项目模板文件中的属性,像这样:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" InitialTargets="TestImports" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Attributes>
<Attribute Name="ImportedProp" Value="False" />
</Attributes>
<Import Condition="Exists('..\SomeProj.props')" ImportedProp="true" Project="..\SomeProj.props" />
<Target Name="TestImports">
<Error Text="Unable to find Common Properties." Condition="'$(ImportedProp)' == true" />
</Target>
声明一个属性以上方法是可悲的是无效的。 Visual Studio根本不喜欢它。它编译得很好,但是当你使用模板在Visual Studio中创建一个新项目时出错。
因此,我想创建一个属性名称“ImportedProp”(例如,正确导入),并且能够在导入调用期间将其设置为true,如果导入成功。
然后,如果在所有导入调用后属性“ImportedProp”仍为false,则可能会出错。
问题是,据我所知,没有办法只在vstemplate或csproj模板的XML中声明自己的属性。有谁知道如何为我可以使用的Visual Studio 2010模板创建自定义属性,就像我所建议的那样?
声明vstemplate或csproj模板XML中的属性只会产生一个错误,其中Visual Studio说它不识别vstemplate或csproj XML文件中的Attributes标记。
我通常不会打扰某人应该像这样简单的事情,但要么我是盲人,要么在Google中输入错误的关键字,但我找不到任何解决方案或示例如何做这个。
答
事实证明,还有另一种方法可以检查这些进口。您不能创建自定义属性,但可以像这样在项目属性(.props)或项目文件中创建一个值。
<PropertyGroup>
<SettableVal> *Value* </SettableVal>
</PropertyGroup>
然后你可以使用它,但是你想。在整个项目文件或模板来控制你的进口,参考包括,或其他。