如何通过Visual Studio自动化在我的解决方案中添加对另一个项目的引用

时间:2013-05-10 18:04:13

标签: visual-studio-2010 visual-studio automation envdte csproj

我创建了一个新解决方案,并通过Solution2.AddFromTemplate向其中添加了一些项目。在我成功构建解决方案之前,我需要将一个项目的项目引用添加到另一个项目中。我正在尝试导航VS自动化对象模型,但无法找到如何执行此操作。

我意识到我可以将csproj作为XML打开并在磁盘上更改(如建议的here),但我需要处理Visual Studio检测项目文件更改并提示重新加载它。

任何人都知道如何做到这一点或指出我正确的方向?

1 个答案:

答案 0 :(得分:5)

找到答案,张贴供将来参考。

诀窍是将EnvDTE.Project的Object属性强制转换为VSProject,然后在其References属性上调用AddProject。

var targetProject = (VSProject) _project.Object;
targetProject.References.AddProject(sourceProject);