C# 在Visual Studio 2019中的多解决方案环境中转到源代码
我们有这样一个场景: 我们有大约100个解决方案,每个方案包含10个项目。 每个解决方案都将其人工制品(即10个DLL)复制到一个共享文件夹中,如C# 在Visual Studio 2019中的多解决方案环境中转到源代码,c#,visual-studio,visual-studio-2019,C#,Visual Studio,Visual Studio 2019,我们有这样一个场景: 我们有大约100个解决方案,每个方案包含10个项目。 每个解决方案都将其人工制品(即10个DLL)复制到一个共享文件夹中,如C:\code/assemblies。 如果我为功能X开发一些东西,我会打开SolutionX。 所有解决方案/项目的源代码都位于单个C:\code中的本地 在调试期间,当在项目Y中实现方法/类/任何东西时,它会打开相应的文件(这很好)。因此,必须有关于如何找到来源的可用信息 但是在开发时,我无法导航到实现,例如使用F12(“转到定义”),而只能从元数
C:\code/assemblies
。
如果我为功能X开发一些东西,我会打开SolutionX。
所有解决方案/项目的源代码都位于单个C:\code
中的本地
在调试期间,当在项目Y中实现方法/类/任何东西时,它会打开相应的文件(这很好)。因此,必须有关于如何找到来源的可用信息
但是在开发时,我无法导航到实现,例如使用F12(“转到定义”),而只能从元数据中收集签名。我希望在调试过程中有相同的体验
所以现在我打开一个VisualStudio代码,打开包含源代码的文件夹,然后执行“在文件中搜索”
还有更好的主意吗
注意:不允许使用Resharper。也不能和波斯夏普玩得很好
注意:我不知道这是否重要,但除一个解决方案外,所有解决方案都启动一个外部程序(shell),因为除一个解决方案外,所有解决方案都只包含DLL。我在旧项目中也做过类似的工作 您可以在Visual Studio 2019中使用符号。简单的步骤可以是: A.为项目生成符号:
- 要使用Microsoft Symbol服务器或NuGet.org Symbol服务器,请选中复选框
- 要添加新的符号服务器位置
我认为您应该分析项目相关性(例如,使用)并将您的项目集中在较少的解决方案中编辑:我正在根据您的评论编辑此答案。我认为您正在寻找两个用例
从最佳实践的角度来看,您要么必须引用二进制文件而不允许对其进行编辑(要么)允许源引用并就地编辑。但这完全取决于你想要实现什么 看起来你有一个用例,其中包含所有项目的解决方案。@Wyck我承认这是一个解决方案。但我不确定这会不会成功。而且还涉及到一些生成的代码,构建过程基本上是通过一个额外的程序来管理依赖项来完成的(运行大约需要15分钟)。所以我绝对不想建立所有的项目。为了只为解决方案X构建项目,我必须为每个解决方案创建一个SolutionX+All。这不容易维护。听起来你需要做一些组件级的单元测试来减少需要调试的范围。我通过单元测试来处理这个场景。如果模块经过良好测试,我就不需要在生产中调试它。如果我在生产中确定了某个组件的故障条件,那么我将重新访问该组件的测试套件,以重现错误,而不是在系统级别调试生产应用程序。如果所调用的模块级API已经过正确的单元测试,则不需要跨模块进行调试。我承认这可能不是你想要的答案。谢谢你详细的回答。PDB已设置为“满”。在调试期间,符号也已出现。我想要的是,我可以在不进行调试的时候,即在编写代码的时候,去实现。这甚至不起作用