【问题标题】:C# MVC Could not load file or assembly 'Microsoft.SqlServer.TypesC# MVC 无法加载文件或程序集'Microsoft.SqlServer.Types
【发布时间】:2016-08-05 14:49:13
【问题描述】:

我找不到我的确切问题,所以我发布了这个问题,如果已经有正确的答案,请链接它。

我收到一个错误:

无法加载文件或程序集“Microsoft.SqlServer.Types”

在我的 C# MVC 应用程序上。此错误是关于不再在 dll 上使用的版本,10.0.0.0 而不是 12.0.0.0。

仅当我将项目发布到特定服务器上的 IIS 而不是本地计算机或任何其他服务器上时才会发生此错误,事实上,如果我将其发布到不同的服务器,它会完美运行。

我已经检查了 GAC 并没有发现任何问题,我已经删除了临时 ASP.NET 文件,并且我已经使用 notepad++ 搜索文件*爬过了所有可能的文件。* 对于 dll 的公钥引用来找到它,我仍然找不到旧引用指向的位置。

使用 ILMerge 将 dll 合并到另一个中,但在此之前这不是问题,仅在此项目上且仅在此服务器上,我什至使用 dotnet peek 来确保合并的 dll 具有正确的版本 12.0.0.0它确实如此。

它几乎感觉就像它以某种方式缓存在服务器上,但我不知道在哪里,还有什么我没有做过的事情,有人可以推荐清除某种形式的缓存引用或 IIS 服务器上存在问题的东西?

【问题讨论】:

  • 您的 web.config 在程序集部分是否有较旧的绑定值?
  • 很遗憾没有,老实说,Web 配置根本没有绑定,因为它是通过 dll 而不是 nuget 包添加到项目的直接引用
  • 您是否有嵌套项目,因此有多个 web.config?

标签: c# asp.net .net sql-server asp.net-mvc


【解决方案1】:

如果您确定 dll 在 bin 文件夹中,它可能正在寻找其依赖项之一。

您是否尝试过删除引用并添加以下 NuGet 包而不是从 GAC 引用?

https://www.nuget.org/packages/Microsoft.SqlServer.Types/

【讨论】:

    猜你喜欢
    • 2010-12-10
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2019-08-01
    相关资源
    最近更新 更多