Visual Studio project type guids - visual-studio

I downloaded a Visual Studio project but I can't open it in my copy of Visual Studio 2010. Useless error message:
The project type is not supported by this installation.
What software do I need to open the project type? It doesn't say.
I actually went and read the .csproj file, it tells me it's project type
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
Am I meant to recognise what software I need from this random string? This is absolutely ludicrous.

Here's a list of project type GUIDs:
8BB2217D-0F2D-49D1-97BC-3654ED321F3B ASP.NET 5
603C0E0B-DB56-11DC-BE95-000D561079B0 ASP.NET MVC 1
F85E285D-A4E0-4152-9332-AB1D724D3325 ASP.NET MVC 2
E53F8FEA-EAE0-44A6-8774-FFD645390401 ASP.NET MVC 3
E3E379DF-F4C6-4180-9B81-6769533ABE47 ASP.NET MVC 4
349C5851-65DF-11DA-9384-00065B846F21 ASP.NET MVC 5 / Web Application
FAE04EC0-301F-11D3-BF4B-00C04F79EFBC C#
9A19103F-16F7-4668-BE54-9A1E7A4F7556 C# (forces use of SDK project system)
8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942 C++
13B669BE-BB05-4DDF-9536-439F39A36129 CPS barebones project
A9ACE9BB-CECE-4E62-9AA4-C7E7C5BD2124 Database
4F174C21-8C12-11D0-8340-0000F80270F8 Database
C8D11400-126E-41CD-887F-60BD40844F9E Database
3EA9E505-35AC-4774-B492-AD1749C4943A Deployment Cab
06A35CCD-C46D-44D5-987B-CF40FF872267 Deployment Merge Module
978C614F-708E-4E1A-B201-565925725DBA Deployment Setup
AB322303-2255-48EF-A496-5904EB18DA55 Deployment Smart Device Cab
F135691A-BF7E-435D-8960-F99683D2D49C Distributed System
BF6F8E12-879D-49E7-ADF0-5503146B24B8 Dynamics 2012 AX C# in AOT
82B43B9B-A64C-4715-B499-D71E9CA2BD60 Extensibility
F2A71F9B-5D33-465A-A702-920D77279786 F#
6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705 F# (forces use of SDK project system)
95DFC527-4DC1-495E-97D7-E94EE1F7140D IL project
E6FDF86B-F3D1-11D4-8576-0002A516ECE8 J#
262852C6-CD72-467D-83FE-5EEB1973A190 JScript
20D4826A-C6FA-45DB-90F4-C717570B9F32 Legacy (2003) Smart Device (C#)
CB4CE8C6-1BDB-4DC7-A4D3-65A1999772F8 Legacy (2003) Smart Device (VB.NET)
581633EB-B896-402F-8E60-36F3DA191C85 LightSwitch Project
8BB0C5E8-0616-4F60-8E55-A43933E57E9C LightSwitch
b69e3092-b931-443c-abe7-7e7b65f2a37f Micro Framework
C1CDDADD-2546-481F-9697-4EA41081F2FC Office/SharePoint App
786C830F-07A1-408B-BD7F-6EE04809D6DB Portable Class Library
66A26720-8FB5-11D2-AA7E-00C04F688DDE Project Folders
D954291E-2A0B-460D-934E-DC6B0785DB48 Shared Project
593B0543-81F6-4436-BA1E-4747859CAAE2 SharePoint (C#)
EC05E597-79D4-47f3-ADA0-324C4F7C7484 SharePoint (VB.NET)
F8810EC1-6754-47FC-A15F-DFABD2E3FA90 SharePoint Workflow
A1591282-1198-4647-A2B1-27E5FF5F6F3B Silverlight
4D628B5B-2FBC-4AA6-8C16-197242AEB884 Smart Device (C#)
68B1623D-7FB9-47D8-8664-7ECEA3297D4F Smart Device (VB.NET)
2150E333-8FDC-42A3-9474-1A3956D46DE8 Solution Folder
3AC096D0-A1C2-E12C-1390-A8335801FDAB Test
A5A43C5B-DE2A-4C0C-9213-0A381AF9435A Universal Windows Class Library
F184B08F-C81C-45F6-A57F-5ABD9991F28F VB.NET
778DAE3C-4631-46EA-AA77-85C1314464D9 VB.NET (forces use of SDK project system)
C252FEB5-A946-4202-B1D4-9916A0590387 Visual Database Tools
54435603-DBB4-11D2-8724-00A0C9A8B90C Visual Studio 2015 Installer Project Extension
A860303F-1F3F-4691-B57E-529FC101A107 Visual Studio Tools for Applications (VSTA)
BAA0C2D2-18E2-41B9-852F-F413020CAA33 Visual Studio Tools for Office (VSTO)
2CFEAB61-6A3B-4EB8-B523-560B4BEEF521 Web Deployment
E24C65DC-7377-472B-9ABA-BC803B73C61A Web Site
3D9AD99F-2412-4246-B90B-4EAA41C64699 Windows Communication Foundation (WCF)
76F1466A-8B6D-4E39-A767-685A06062A39 Windows Phone 8/8.1 Blank/Hub/Webview App
C089C8C0-30E0-4E22-80C0-CE093F111A43 Windows Phone 8/8.1 App (C#)
DB03555F-0C8B-43BE-9FF9-57896B3C5E56 Windows Phone 8/8.1 App (VB.NET)
60DC8134-EBA5-43B8-BCC9-BB4BC16C2548 Windows Presentation Foundation (WPF)
BC8A1FFA-BEE3-4634-8014-F334798102B3 Windows Store (Metro) Apps & Components
D954291E-2A0B-460D-934E-DC6B0785DB48 Windows Store App Universal
930C7802-8A8C-48F9-8165-68863BCCD9DD WiX Setup
14822709-B5A1-4724-98CA-57A101D1B079 Workflow (C#)
D59BE175-2ED0-4C54-BE3D-CDAA9F3214C8 Workflow (VB.NET)
32F31D43-81CC-4C15-9DE6-3FC5453562B6 Workflow Foundation
EFBA0AD7-5A72-4C68-AF49-83D382785DCF Xamarin.Android / Mono for Android
6BC8ED88-2882-458C-8E55-DFD12B67127B Xamarin.iOS / MonoTouch
F5B4F3BC-B597-4E2B-B552-EF5D8A32436F MonoTouch Binding
6D335F3A-9D43-41b4-9D22-F6F17C4BE596 XNA (Windows)
2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2 XNA (XBox)
D399B71A-8929-442a-A9AC-8BEC78BB2433 XNA (Zune)
Some of these are given different names under different versions of Visual Studio, so if you don't see an exact name match, look for a similar or related name.

I found a site that lists some known project type GUIDs for Visual Studio 2008.
FAE04EC0-301F-11D3-BF4B-00C04F79EFBC looks like a Windows C# project (probably a Class Library project?)
786C830F-07A1-408B-BD7F-6EE04809D6DB appears to be a Portable Library project
I agree that it's crazy to expect a developer to understand the project type represented by a GUID but whoever supplied the code you downloaded could have indicated what was required to build it!

Visual Studio projects system architecture uses GUIDs to identifiy the type of the project. You could find online lists like these below:
INFO: List of known project type Guids
Visual Studio Projects - Project Type GUIDs
Such GUIDs allows the Visual Studio to recognize what type of project user opened and use appropriate tools and editors. To uderstand better what do I mean - read this post for example: Opening an ASP.NET MVC project without having ASP.NET MVC installed: The project type is not supported by this installation

Related

How to create a VSIX template for .NET 6

I create a solution with 4 projects. One of them VSIX project, the other is Project Template and 2 of them are Item template. I want to create VSIX because all team use it. Exporting directly item template from visual studio working fine, but it is not good solution for team-works.
I use C# 10 version at my project. I want to create this template to targeting C# 10 language version. However in list there is only .NET Framework 4.8. So in this case, I cannot use record type or other new things.
How can I create a Visual Studio extension for .NET 6? How I target that or is there another way?
I use Visual Studio 2022.
Visual Studio 2022 targets .NET Framework, so you cannot write a VSIX targeting .NET 6 and have it install into VS2022.
That said, if you want to use newer C# features in .NET Framework projects, you can create an SDK-style project and manually change the .csproj file to have TargetFramework net472 and set LangVersion to 10 or whatever you prefer. While this works, it's not a scenario that Microsoft supports.
Note that for VSIX projects this is currently a bit tricky to get working. An example can be found here, however that's quite a complex build so it will require a good level of familiarity with MSBuild to use it as a reference.
Once you have increase the language version, you will also need something like https://www.nuget.org/packages/IsExternalInit to make record types compile correctly for .NET Framework.

How to associate item templates with Project Type in Visual Studio 2019?

I would like to create a new F# Web ASPNET (not Core) Application using the MSBuild based legacy project format, not the SDK project. In Visual Studio 2019, the only available option for this project type is C#. I've attempted to reverse engineer the project setup by creating a new F# class library and modify the ProjectTypeGuids.
The C# Web Application uses the following project type GUIDs
349c5851-65df-11da-9384-00065b846f21 - ASP.NET MVC 5
fae04ec0-301f-11d3-bf4b-00c04f79efbc - C#
On a basic F# .NET Framework class library, I attempted to add the ASP.NET and F# project type guids to the project.
<ProjectTypeGuids>{349C5851-65DF-11DA-9384-00065B846F21};{F2A71F9B-5D33-465A-A702-920D77279786}</ProjectTypeGuids>
This succeeded in adding the web configuration to the project properties, but now I am unable to add any items to the project at all. It looks like in the past you needed to associate the right language templates with the project guid in the registry editor (see this link)
These entries don't appear to be anywhere that I can see in the registry, for any installed version of VS (which at this point is just 2017 and 2019). How can I enable F# item templates for my F# web application?
While not exactly an answer to the question, I think the pain of trying to do this is likely proof that you SHOULDN'T do this. In the end my approach will be to simply implement the Web Application in C#, while keeping as much code as possible in F# targeting netstandard.

Missing "Add Domain Service Class" in Visual Studio 2012 on Windows 10

I have a Silverlight 5 app that I need to do maintenance work on. I'd like to avoid a VM.
With the release of .Net Framework 4.6.2 (in preview right now) this bug has been fixed, so it should be possible on my Win 10 machine. I have VS2012 installed along with the WCF RIA Services V1.0 SP1 (and Toolkit) plus the Silverlight 5 SDK. The project builds and runs in VS2012...
But within VS2012 I'm missing the "Add New Domain Service Class" wizard, which I need for some comparative troubleshooting. According to this answer and this link the template was removed in VS2013 and VS2015, both of which I also have installed for other projects.
How can I get the "Add New Domain Service Class" wizard back in VS2012?
LightSwitch doesn't require much of the classes and projects that are created as part of the Domain Service Class Library template. Instead you can just:
Create a Class Library project
Add a reference to System.ServiceModel.DomainServices.Server assembly
Make your class inherit from the DomainService class found in the System.ServiceModel.DomainServices.Server namespace.
for more information Creating a WCF RIA Service for Visual Studio LightSwitch 2013-2015

Cannot Import Asmx web service reference in vs 2010

I have web site built in visual studio 2008 using .net framework 3.5.Now i want to migrate the web site code to visual studio 2010 but want to keep the target framework to same i.e 3.5. The web site is built using vb.Net.MY problem is when i am importing the reference of web service in visual studio 2010 it show error as "NameSpace or type specified in imports 'WebReference' does not contain any public methods".My service name is "WebReference" . I thought may be .net has built in System.web.services.Description.Webreference ,may be it shows conflict ,so i tried to rename it to "WebReference1" or some other name but it does not have any effect,yhe error is still there.What am i missing?
probably it is because you cannot use importer :
ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
in vs 2010....you need vs 2012 because that only has support for .net framework 4.5 which in turn has assembly references to ServiceDescriptionImporter .

Automatically strong naming COM Interop wrappers

I have a C# project in Visual Studio 2005 that is referencing a few COM libraries. When I build it errors like this are thrown:
Referenced assembly 'assemblyName' does not have a strong name.
Now, I used to reference COM assemblies in Visual Studio 2003, and it would automatically sign the Interop wrappers. All I had to do was set the setting 'Wrapper Assembly Key File'.
I tried finding a similar setting in Visual Studio 2005, but I couldn't find any. So I was wondering if there's any equivalent way of strong naming COM Interops in Visual Studio 2005 and getting rid of the above error.
It looks like it was already answered in "Where is the Wrapper Assembly Key File setting in VS 2008?" question.
Instead of using Visual Studio you could use Tlbimp.exe and
Aximp.exe to generate the Interops. Tlbimp.exe has options for signing.
I have used them to be generate an Interop file for each different version of the same COM component in my application. The COM components are vendor supplied COM components used for accessing data points in mass spectrometry files and the COM interface change from time to time as new versions of the vendor software is released. The application can then decide at runtime which Interop to use in order to match what version is installed on the computer where the application is installed.
The BAT file I use for generating the Interops is online.

Resources