当我在同一解决方案中卸载项目时,Visual Studio 中的引用路径不起作用
Posted
技术标签:
【中文标题】当我在同一解决方案中卸载项目时,Visual Studio 中的引用路径不起作用【英文标题】:Reference Path in Visual Studio not working when I unload the project in the same solution 【发布时间】:2021-08-12 11:16:56 【问题描述】:我有一个 ASP.NET MVC
项目,其中一个解决方案和 52 个项目在同一个解决方案中。如您所知,构建整个解决方案需要很长时间。所以我决定卸载一些项目,直到卸载的项目中的代码有一些变化或冲刺任务。但是,我们是一个团队并使用 TFS 版本控制,我们需要使用更新卸载程序集。所以我有一个构建服务器,它可以确保每当有人开始签入时(例如 -> 我们网络中的 C:\bin
),都可以在那里找到所有程序集的最后一个版本。
我添加了C:\bin
路径作为解决方案的 UI 项目(解决方案的主项目)的参考路径,我希望在卸载某些项目时,引用会从构建服务器路径 (C:\bin
) 进入 Visual Studio否则项目的引用来自嵌套项目(而不是来自构建服务器)的 Visual Studio。
但是项目卸载时找不到引用:
我的构建服务器包含程序集:
【问题讨论】:
如果您卸载项目,则构建将失败,因为其他项目依赖于卸载的项目。添加引用有两种方法,您可以添加对另一个项目的引用,也可以添加对项目 DLL 的引用。因此,一种解决方案是将您的解决方案拆分为 2 个解决方案...然后构建您的解决方案之一并将依赖项添加为 DLL 文件...更优雅的是将您的 DLL 放在 Nuget 中,并将它们安装为 Nuget包。 This answer 可能会有所帮助。 感谢您的回复。但我想在 Visual Studio 中使用参考路径,如图所示 我如何知道项目已卸载?我想在 web.config 的引用标记中使用条件在类库(.dll)和可调试项目之间切换 你不能在 dll 和项目之间切换,我在上面评论中提出的问题是问完全相同的事情,我想它会回答你的问题。 【参考方案1】:最后,我找到了一种方法(仅在 Visual Studio 2019 中)来卸载项目,但使用已卸载项目的更新类库。感谢 Hooman Bahreini 提出使用两个独立解决方案的想法。
方法是,Visual Studio 2019 有一个功能,我们可以在 .slnf 扩展中Save As Solution Filter
。所以我可以通过我的源代码管理(如 tfs)卸载我的一些项目并签入 .slnf 文件。所以我现在有两种解决方案,一种是 .sln,它包含所有项目,另一种是 .slnf em> 里面卸载了一些项目。
我们可以做的是,每当我想获得我的项目时,我都必须使用 .sln 文件并构建它,然后关闭文件,然后打开.slnf 文件(我确信我已经更新了卸载项目的类库)并完成我的任务和check-in
我的更改。
【讨论】:
以上是关于当我在同一解决方案中卸载项目时,Visual Studio 中的引用路径不起作用的主要内容,如果未能解决你的问题,请参考以下文章
当我在 Visual Studio 2017 的解决方案资源管理器中右键单击 Web 项目时,无法将添加->现有项目视为 Azure Web 作业选项
如何在 Visual Studio 2010 中删除/卸载项目模板
如何在 VIsual Studio 2013 中从 UML 图生成 C++ 代码