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>
リリースビルドに切り替えてもデバッグアセンブリを参照するため、これはそれほど優れていません。もう1つの問題は、参照として追加する前に、参照されたアセンブリをビルドする必要があることです。Visual Studio UIを使用して、ビルドされていないプロジェクトへの参照を追加できます。
EnvDTE APIを介してプロジェクト参照を追加することは可能ですか?
.csprojファイルをXMLドキュメントとして操作し、やりたいことが何でもできることはわかっていますが、EnvDTEのパスから始めたので、それを使い続けたいと思います。