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