gpt4 book ai didi

visual-studio-2010 - Visual Studio 2010 加载项 : How to locate project references?

转载 作者:行者123 更新时间:2023-12-05 00:37:46 29 4
gpt4 key购买 nike

您如何以编程方式查找和迭代 Visual Studio 2010 解决方案中的所有项目和 dll 引用?

我可以迭代所有项目并找到Project.ProjectItems属性(property)和Project.Properties但还没有找到任何引用引用的方法(双关语)。

这发生在加载项中,因此 DTE 解决方案比建议我们迭代文件的任何人都更可取。

根据以下答案提出的解决方案:

您需要找到并包含对 VSLangProj.dll 的引用(例如在 Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies 中)

然后您可以像这样迭代所有选定项目的项目和 DLL 引用:

foreach (Project project in (object[])_applicationObject.ActiveSolutionProjects)
{
VSProject vsProject = project.Object as VSProject;
if (vsProject != null)
{
foreach (Reference reference in vsProject.References)
{
// Do cool stuff here
}
}
}

Tomas Lycken的信息:

_applicationObject 是我的加载项中的私有(private)成员,例如
private DTE2 _applicationObject;

我在连接中设置它是这样的:
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;

最佳答案

您可以访问 VB/C# 特定的 VSProject来自 Project 对象的 Object 属性的对象。 VSProject 有一个 References属性,您可以通过它深入了解各个引用。

如果您考虑一下,它必须是这种方式,因为并非所有在 Visual Studio 中加载的项目都必然支持对 .NET 程序集的引用,因此它必须是专门用于 C#/VB(和其他 .NET 语言)的东西,而不是而不是核心项目对象。

关于visual-studio-2010 - Visual Studio 2010 加载项 : How to locate project references?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6572792/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com