Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
C# 自定义Visual Studio项目系统:属性页不显示_C#_Visual Studio 2010_Visual Studio Extensions_Vsix - Fatal编程技术网

C# 自定义Visual Studio项目系统:属性页不显示

C# 自定义Visual Studio项目系统:属性页不显示,c#,visual-studio-2010,visual-studio-extensions,vsix,C#,Visual Studio 2010,Visual Studio Extensions,Vsix,我在这个问题上已经被难住了一段时间,想不出还有什么好尝试的 因此,本质上我们已经创建了一个SDK和一个安装程序,它为VisualStudio创建了一个项目模板,以便于创建产品。此项目模板包含两种自定义项目类型,即.xxProj和.yyProj,它们都与SDK附带的特定编译器和目标文件相链接 该项目在VisualStudio中安装并正常工作时显示良好,但是由于某些原因,属性windows/page没有包含任何内容,尽管我相信我已经正确地为这两个属性页实现了单独的属性页 在ProjectPackag

我在这个问题上已经被难住了一段时间,想不出还有什么好尝试的

因此,本质上我们已经创建了一个SDK和一个安装程序,它为VisualStudio创建了一个项目模板,以便于创建产品。此项目模板包含两种自定义项目类型,即.xxProj和.yyProj,它们都与SDK附带的特定编译器和目标文件相链接

该项目在VisualStudio中安装并正常工作时显示良好,但是由于某些原因,属性windows/page没有包含任何内容,尽管我相信我已经正确地为这两个属性页实现了单独的属性页

在ProjectPackage中,我提供了以下对象和属性标记:

[ProvideObject(typeof(xxPropertyPage))]
[ProvideObject(typeof(yyPropertyPage))]
[ProvideProjectFactory(typeof(yyProjectFactory), null, "yy Project Files (*.yyproj);*.yyproj", "yyproj", "yyproj", ".\\NullPath", LanguageVsTemplate = yyProjectFactory.PROJECT_TYPE)]
[ProvideProjectFactory(typeof(xxProjectFactory), null, "xx Project Files (*.xxproj);*.xxproj", "xxproj", "xxproj", ".\\NullPath", LanguageVsTemplate = xxProjectFactory.PROJECT_TYPE)]
其他两个属性页都是COM可见的,并实现SettingsPage。我还将get属性页方法添加到项目节点中

protected override Guid[] GetConfigurationIndependentPropertyPages()
        {
            Guid[] result = new Guid[1];
            result[0] = typeof(xxPropertyPage).GUID;
            return result;
        }

        /// <summary>
        /// Overriding to provide project general property page.
        /// </summary>
        /// <returns>Returns the GeneralPropertyPage GUID value.</returns>
        protected override Guid[] GetPriorityProjectDesignerPages()
        {
            Guid[] result = new Guid[1];
            result[0] = typeof(xxPropertyPage).GUID;
            return result;
        }
在.xxProj/.yyProj文件中是否有生成属性页所需的特定内容,或者可能是我忽略的内容

.yyProj文件的示例:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{F4A26EF6-E6CF-4486-A948-8498EE475EFF}</ProjectGuid>
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
  </PropertyGroup>

  <PropertyGroup>
    <TargetName>$productvendor$.$productname$.Product</TargetName>
    <OutputType>xxProject</OutputType>
    <SDKVersion>v3.1</SDKVersion>
    <VendorName>$productvendor$</VendorName>
    <ProductName>$productname$</ProductName>
    <ProductCategory>$productcategory$</ProductCategory>
    <ProductGuid>$productguid$</ProductGuid>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="xx.pxs" /> <--pxs is used by the xxProj-->
  </ItemGroup>

  <Import Project="$(MSBuildExtensionsPath)\SDKCompany\Exchange\$(SDKVersion)\SDKCompany.Xchng.Product.xx.Settings.targets" />
  <Import Project="$(MSBuildExtensionsPath)\SDKCompany\Exchange\$(SDKVersion)\SDKCompany.Xchng.Product.xx.targets" />

</Project>