我有解决方案A(它有启动项目(和解决方案B。解决方案A使用解决方案B中的东西。为此,A有一个项目,当重建时,它会将dll和.pdbs复制到A的目录中。有没有办法让解决方案a识别B中的源代码?例如,如果我在B中有一个类moo,我能完成以下任务吗?
- 解决方案A中的Intellisense是否知道类型moo和moo的方法,包括在尝试实例化新对象时推荐它
- 能够从解决方案A中F12 moo类型,并让visual studio为我打开原始源代码,就像源自解决方案A的类型一样
我可以访问Visual中不同解决方案中的源代码吗工作室(.net/C#(
要在解决方案A中调试解决方案B的项目,应确保解决方案B中的xx.dll
和xx.pdb
文件位于解决方案A的outputpath文件夹中。
正如Hans所说,您可以右键单击解决方案A-->添加-->现有项目-->选择解决方案B的相关xxx.csproj
。
之后,单击解决方案A中项目的引用-->添加引用-->项目-->从解决方案B中选择目标导入项目。
使用它们,您可以调试该项目,并在解决方案A中输入B的代码。
=====================
除外,如果解决方案B的项目是类库项目,您还可以使用解决方案a项目上的添加引用节点来引用目标xxx.dll
。
右键单击项目-->添加引用-->浏览->在新实例中查找解决方案B的输出文件xxx.dll
。
请注意,您应该使用"调试配置"来构建它们
然后你可以在你的项目中使用它。
除外,您还可以在解决方案A的xxx.csproj
文件中使用ProjectReferencexml节点。
将这些添加到xxx.csproj
文件中:
<ItemGroup>
<ProjectReference Include="xxxxSolutionBxxxx.csproj"> // the path of the project in Solution B
<Name>xxxxx</Name> //name of the project
</ProjectReference>
</ItemGroup>
然后构建你的项目一次,然后你就可以得到它。
尽管有一个警告the referenced component xxx cannot be referenced
,vs仍然可以找到引用的项目并使用其内容。