回答
源文件不是解决方案的一部分。它们是项目的一部分,而项目又是解决方案的一部分。尽管源文件本身没有成为项目一部分的概念。该项目有一个参考文件,但没有其他方法。一个源文件可以是多个项目的一部分,这可能是不同解决方案的一部分。
你可以做的是解析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