在Visual Studio中,用于在WinForms项目中添加元素的上下文菜单命令与为WPF项目显示的元素不同。实际上,我可以在第一个和第二个“Add-> Window”中看到“Add-> Windows Form”。 VisualStudio通过哪些参数/配置可以区分当前打开哪种类型的项目?我的第一个赌注是.csproj文件,但我没有看到关于项目类型的独特之处。visualstudio如何知道当前项目的类型?
回答
项目文件中经常会有一个ProjectTypeGuids
元素,它允许Visual Studio确定它是什么项目类型。在解决方案文件中也提到了该项目。
<ProjectTypeGuids>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
作为一个例子。
这里是一个有些旧的链接项目GUID的列表,但多数仍然有效:http://onlinecoder.blogspot.se/2009/09/visual-studio-projects-project-type.html
而且这里有一个博客帖子,列出它的所有有关:
http://www.dzimchuk.net/blog/post/ProjectTypeGuids-node-in-VS-project-files.aspx
“在一个普通的类库项目中,'ProjectTypeGuids'节点根本没有,没有多久就找到那些神秘的GUID:List of known project type Guids。所以第一个说它是一个WPF项目,第二个说它是个C#项目“。
它实际上是.sln
文件中标识项目类型的GUID。
Project("{PROJECT-TYPE-GUID}") = "OurSolution.Tests.Integration", "OurSolution.Tests.Integration\OurSolution.Tests.Integration.csproj", "{04A96D9A-FF90-4FDC-9265-704CC8D496BE}"
几乎是正确的,它在解决方案文件中。搜索属性ProjectTypeGuids。
下面是项目类型的一些GUID的列表: http://www.mztools.com/articles/2008/mz2008017.aspx
编辑:看到这个帖子的答案,以及:How do you tell the Visual Studio project type from an existing Visual Studio project
ProjectTypeGuids
确定的Visual Studio识别项目的类型。它包含在项目文件和解决方案文件中。一个项目可以属于多种项目类型,例如C#和VSTO。
WPF有{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}
而的WinForms一个GUID有{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
与OutputType WinExe
一个GUID。
- 1. 如何知道VS C#项目的项目类型?
- 2. 如何知道当前PC
- 3. 如何以编程方式知道项目类型?
- 4. 如何从工作项目ID中知道工作项目类型?
- 5. 如何知道项目的lib目录?
- 6. 如何从Visual Studio加载项访问当前打开的项目类型(类)?
- 7. 我如何知道詹金斯当前项目的内部版本号?
- 8. 如何知道/更改Python shell中的当前目录?
- 9. Java Apache FTPClient:如何知道我的当前目录
- 10. 如何知道当前脚本所在的目录
- 11. Calendar.getInstance()如何知道当前年份?
- 12. 未知项目类型GUID
- 13. C如何知道期望的类型?
- 14. 如何知道变量的类型?
- 15. 如何知道链接器的类型
- 16. 如何知道继承的泛型类型的基类型?
- 17. WPF ListView与ItemsSource:如何知道模型何时添加项目
- 18. VisualStudio 2017 R项目
- 19. 如何确定当前类的类型?
- 20. 检测AVQueuePlayer中的当前项目并知道它何时更改?
- 21. Qt一个项目知道其他类
- 22. 如何知道选择哪个项目?
- 23. EF6如何知道派生类型?
- 24. var如何知道未定义类型?
- 25. 当前项目上的JQuery添加类
- 26. 如何获取当前项目的ID?
- 27. 如何获得当前的HDD类型?
- 28. 如何知道在Eclipse上的java项目中应该有哪些类型的getter? (它是未知的我)
- 29. 如何当PID知道
- 30. 如何知道类型是否继承了其他类型?
虽然,它也在解决方案文件中,但它最初是在proj文件中,如果它只是一个类库的话。否则,将一个项目导入另一个解决方案很困难。 =) – 2012-07-24 12:55:11
@J。谢恩,不知道。我想知道使用解决方案进行加载时优先级高低。 – Aphelion 2012-07-24 12:56:53
我会假设解决方案文件,考虑到它首先加载 - 但我很不确定 - 所以我猜想“VS如何知道”的问题的答案将如您所说:解决方案文件。 ;) – 2012-07-24 12:57:57