我在我的代码中使用EnvDTE80的参考来打开visual studio解决方案,然后遍历其中的项目。我是新手,并使用下面的代码片段:首先定义了以下类型的对象:
EnvDTE80.DTE2 dte2;
然后尝试通过它访问解决方案:
Solution2 solution = dte2.Solution as E2.Solution2;
if (solution == null)
{
return;
}
Projects projects = solution.Projects;
foreach (E1.Project project in projects)
{
Property outputPath =
project.ConfigurationManager.ActiveConfiguration.Properties
.Item("outputPath");
outputPath.Value = buildFolderPath;
project.Save(project.FullName);
}
基本上我试图通过代码片段更改项目输出路径,每当我运行代码时,我得到一个错误,指出“对象引用未设置为对象的实例”。 “dte2”对象为null。
有什么建议如何初始化它?
对于未来的Google员工,这是如何实例化的
var slnPath = @"C:\Code\public\src\website.sln";
var envDteType = Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
var envDte = Activator.CreateInstance(envDteType, true);
var dte2 = (DTE2)envDte;
var solution = (Solution4) dte2.Solution;
solution.Open(slnPath);