.net - 不引用 GAC 进行开发

标签 .net asp.net-mvc visual-studio gac

是否可以在 Visual Studio 中进行开发而无需引用 GAC 中的程序集(核心 .Net 框架除外)?我想我是在问是否可以在应用程序中使用纯本地程序集。

我们的构建服务器/实时/测试环境除了 .Net 框架外没有安装任何内容,所有引用的程序集(例如 MVC/Entity Framework 等)都作为 NuGet 包存档包含在内。开发计算机需要安装 MVC 才能使 Visual Studio 正常工作。这样做的问题是,在将某些东西推送到构建服务器之前,无法判断某些东西是否会导致解决特定依赖项时出现问题,因为开发机器通常会在 GAC 中找到它需要的东西。我还遇到过这样的情况:在我的开发计算机上的 GAC 中发现了旧的、不正确的程序集版本,尽管项目将较新的、正确的版本作为包的一部分(构建服务器使用的包)引用。

最佳答案

您可以随时添加文件夹“Libs”以及其他文件夹,并将您的所有 Dll 存储在其中。并确保引用指向该文件夹和 dll,而不是 GAC。

这基本上意味着从项目中删除所有引用,然后手动将它们重新添加回特定位置。

然后您可以做的是在源代码管理中跟踪这些 dll。这样所有的内容都会被推送到构建服务器。

关于.net - 不引用 GAC 进行开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12367105/

相关文章:

.net - 从 Monitor 所有者以外的另一个线程释放锁

c# - 在 Visual Studio 中使用 Windows 身份验证服务进行客户端开发

asp.net-mvc - MVC 部分 View 将模型传递给 Controller

java - VS中的 Release模式和 Debug模式

mysql - 表 mysql.proc 不存在(Visual Studio 2017 中的问题)?

visual-studio - VS 2008 相对于 VS 2005 的优势

c# - 从 Azure 表存储中删除批处理时如何避免 404

c# - 我将如何连接/替换 “end user” YSOD?

c# - HttpContext.Current.Cache 和 HttpContext.Response.Cache 有什么区别?

c# - 简单的控制台应用程序测试