Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以编程方式从T4访问PropertyGroup中定义的C#项目自定义属性_C#_Visual Studio_Visual Studio 2015_T4 - Fatal编程技术网

以编程方式从T4访问PropertyGroup中定义的C#项目自定义属性

以编程方式从T4访问PropertyGroup中定义的C#项目自定义属性,c#,visual-studio,visual-studio-2015,t4,C#,Visual Studio,Visual Studio 2015,T4,我在C#project的.csproj文件中定义了自定义属性: ... <PropertyGroup> <SomeMineProperty>Hi there!</SomeMineProperty> </PropertyGroup> ... 有几十个属性,但SomeMineProperty不在其中 <#@ template debug="false" hostspecific="true" language="C#" #> &l

我在C#project的.csproj文件中定义了自定义属性:

...
<PropertyGroup>
    <SomeMineProperty>Hi there!</SomeMineProperty>
</PropertyGroup>
...
有几十个属性,但
SomeMineProperty
不在其中

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#@ output extension=".txt" #>
<#
    var project= this.FindProject();
    var props = project.ConfigurationManager.ActiveConfiguration.Properties; // Same result for project.Properties
#>
count:<#=props.Count#>
<#foreach (Property prop in props){#>
<#= prop.Name #> = <#= prop.Value #>
<#}#>
<#+
Project FindProject()
{
    var serviceProvider = (IServiceProvider)this.Host;
    var dte = (DTE)serviceProvider.GetService(typeof(DTE));
    var item = dte.Solution.FindProjectItem(this.Host.TemplateFile);
    if (item != null && item.ContainingProject != null)
        return item.ContainingProject;

    throw new InvalidOperationException(string.Format("Cannot find project for {0} template", this.Host.TemplateFile));
}
#>