I've been stumped on this for a while now, and can't figure out what else to try.
So essentially we have created an SDK for Visual Studio 2010 and an installer that creates a project template for visual studio to make it easy to create products. This project template contains two custom project types say .xxProj and .yyProj, these are both
linked with our specific compilers and targets files that come with the SDK.
The project shows fine in Visual Studio when installed and works correctly, however for some reason the properties windows/page is not containing anything even though I believe I have correctly implemented individual property pages for both.
In the ProjectPackage I have provided the following objects and property tags:
[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)]
Both of the other property pages are COM visible and implement SettingsPage. I've also added the get property page methods into the project nodes.
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;
}
Is there something specific that needs to be in the .xxProj/.yyProj files that is required to produce property pages or possibly something I've overlooked?
Example of .yyProj file:
<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>