在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. 如何知道當前的rescursion級別?
- 7. 如何知道OS的當前顏色?
- 8. 如何從Visual Studio加載項訪問當前打開的項目類型(類)?
- 9. 如何通過Harism知道當前頁面捲曲項目的索引?
- 10. 我如何知道詹金斯當前項目的內部版本號?
- 11. Java Apache FTPClient:如何知道我的當前目錄
- 12. 如何知道當前腳本所在的目錄
- 13. 如何知道/更改Python shell中的當前目錄?
- 14. Calendar.getInstance()如何知道當前年份?
- 15. 未知項目類型GUID
- 16. 如何知道當前目錄樹中是否存在文件
- 17. PyCharm如何知道克隆的Git存儲庫的項目類型
- 18. 如何知道NSManagedContext中NSManagedObject的類型
- 19. C如何知道期望的類型?
- 20. 如何知道matlab的圖像類型
- 21. 如何知道鏈接器的類型
- 22. 如何知道變量的類型?
- 23. PyQt的:如何設置ComboBox中當前項目Wihtout知道項目的索引號
- 24. 如何知道繼承的泛型類型的基類型?
- 25. WPF ListView與ItemsSource:如何知道模型何時添加項目
- 26. VisualStudio 2017 R項目
- 27. 如何確定當前類的類型?
- 28. 檢測AVQueuePlayer中的當前項目並知道它何時更改?
- 29. android-sdk-plugin項目不知道Android類
- 30. Qt一個項目知道其他類
雖然,它也在解決方案文件中,但它最初是在proj文件中,如果它只是一個類庫的話。否則,將一個項目導入另一個解決方案很困難。 =) – 2012-07-24 12:55:11
@J。謝恩,不知道。我想知道使用解決方案進行加載時優先級高低。 – Aphelion 2012-07-24 12:56:53
我會假設解決方案文件,考慮到它首先加載 - 但我很不確定 - 所以我猜想「VS如何知道」的問題的答案將如您所說:解決方案文件。 ;) – 2012-07-24 12:57:57