回答
源文件不是解決方案的一部分。它們是項目的一部分,而項目又是解決方案的一部分。儘管源文件本身沒有成爲項目一部分的概念。該項目有一個參考文件,但沒有其他方法。一個源文件可以是多個項目的一部分,這可能是不同解決方案的一部分。
你可以做的是解析SLN和VBPROJ/CSPROJ /任何文件,看看哪些文件引用了特定的源文件。這些文件只是文本,包含有關解決方案或項目的各種信息,包括哪些項目是解決方案的一部分,哪些文件是項目的一部分。您可以遞歸地解析文件夾中的文件以構建代表解決方案中的項目中的文件的整個樹。
請注意,大多數文件將由項目文件中的相對路徑引用。
從Visual Commander開始,然後您可以使用Visual Studio的Automation and Extensibility for Visual Studio API以編程方式訪問您的解決方案「DOM風格」。用.NET語言編寫一個VS命令,將解決方案遍歷到項目中,然後寫入項目項目中,將所有找到的文件(項目項目)轉儲到日誌文件,數據庫,Web服務中,你有什麼。
關於如何導航Visual Studio的DTE,請參見本文HOWTO: Navigate the files of a solution from a Visual Studio .NET macro or add-in。
我知道SO對只包含鏈接而不是真正幫助的答案感到滿意,但EnvDTE的各種風格的文檔非常豐富,任何用於演示如何使用它的代碼示例都非常大。所以我只是給你這個強有力的提示:看看Visual Studio的可擴展性模型,並通過Visual Commander輕鬆掛鉤它,它可以完成在Visual Studio擴展中包裝代碼的所有工作。從那裏你可以使用任何合理的技術(MSBuild,PowerShell,批處理文件)將每個解決方案加載到VS並運行你的新命令。
這實際上回答了這個問題:對於我的數以千計的解決方案中使用的所有源文件,哪些解決方案使用它們。但是我發現你(@Sabz)在下面的評論中給出了一種合理的方式來一次回答一個源文件的問題,這更確切地說是你所問的。
N.B .:我還沒有使用Visual Commander,所以我只是假設它可以像廣告一樣工作。
- 1. 如何查看哪個源安全項目綁定到Visual Studio解決方案?
- 2. 如何在源代碼管理中查找文件,但不是在Visual Studio解決方案中查找文件?
- 3. Visual Studio 2003解決方案到Visual Studio 2013解決方案
- 4. 合併Visual Studio解決方案文件
- 5. Visual Studio解決方案文件
- 6. 合併Visual Studio解決方案文件
- 7. 如何從.proj文件製作visual studio解決方案文件
- 8. Visual Studio Online錯誤解析解決方案文件,位於* .xproj
- 9. Visual Studio 2013解決方案文件夾在哪裏?
- 10. visual studio解決方案
- 11. Visual Studio解決方案
- 12. 包含多個解決方案的Visual Studio解決方案
- 13. 如何清潔visual studio解決方案?
- 14. 如何從Visual Studio解決方案
- 15. Visual Studio解決方案資源管理器未加載文件
- 16. Visual Studio解決方案TFS檢查
- 17. 在整個解決方案中查找使Visual Studio崩潰
- 18. Visual Studio如何在「解決方案文件夾」中找到文件
- 19. 從Visual Studio生成Make文件(適用於GCC)解決方案
- 20. 關於Visual Studio解決方案文件中的領先換行
- 21. Sitecore和多個Visual Studio解決方案
- 22. 如何在打開Visual Studio解決方案時顯示文件
- 23. Visual Studio如何確定解決方案文件的版本?
- 24. 如何阻止Visual Studio自動創建解決方案文件
- 25. 如何從Visual Studio解決方案/項目中讀取文件?
- 26. 如何從make文件創建Visual Studio解決方案?
- 27. 在解決方案中查找文件
- 28. Visual Studio解決方案 - 如何確保項目屬性共享?
- 29. Visual Studio:如何使一個解決方案取決於另一個?
- 30. Visual Studio:單一解決方案還是很多解決方案?
好的,我找到了一種使用LOCATE32工具的方法,它是免費的。 (Windows搜索也可以) 1.搜索全部* .csproj包含文本「SourceFileName.cs」 2.您將找到該文件所屬的項目。 3.搜索包含「ProjectNameFoundInStep2.csproj」的所有SLN文件 4.您將獲得所有解決方案 – Sabz