gpt4 book ai didi

c# - 通过 EnvDTE 在 C# 中以编程方式添加项目引用(而不是程序集引用)

转载 作者:行者123 更新时间:2023-12-02 01:15:47 25 4
gpt4 key购买 nike

在 visual studio 中,当您在 .csproj 文件中添加对解决方案中现有项目的引用时,结果如下所示:

<ProjectReference Include="..\TestProject2\TestProject2.csproj">
<Project>{15EC8369-B0C5-4F71-A366-19042F450A2D}</Project>
<Name>TestProject2</Name>
</ProjectReference>

如果我通过 EnvDTE 添加对程序集 DLL 的引用:

var p = _project as VsProject;
p.References.Add(<path to assembly DLL>);

结局是这样的:

<Reference Include="TestProject2.csproj">
<HintPath>..\TestProject2\bin\Debug\TestProject2.csproj.dll</HintPath>
</Reference>

这不是很好,因为如果我切换到发布版本,它仍将引用调试程序集。另一个问题是我必须先构建引用的程序集,然后才能将其添加为引用。通过 Visual Studio UI,我可以添加对未构建项目的引用。

是否可以通过 EnvDTE API 添加项目引用?

我知道我可以将 .csproj 文件作为 XML 文档进行操作并做任何我想做的事,但由于我是在 EnvDTE 上开始这条路的,所以我更愿意坚持下去。

最佳答案

它看起来像 References接口(interface)有一个 AddProject处理项目到项目引用的方法。

关于c# - 通过 EnvDTE 在 C# 中以编程方式添加项目引用(而不是程序集引用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530281/

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