【问题标题】:Could not load file or assembly 'NuGet.Server, Version=2.11.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies无法加载文件或程序集“NuGet.Server,Version=2.11.1.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一
【发布时间】:2017-05-24 07:33:47
【问题描述】:

所以我按照本教程通过 ASP.Net Web 应用程序创建了一个 NuGet 服务器:http://nugetserver.net/ 托管在 IIS 中。我已将文件与我的软件包一起放在我的服务器上的 D: 驱动器上。

IIS 站点虚拟路径:

当我导航到该 url 时,我收到以下 错误

如果图片不够清晰,请看下图:

无法加载文件或程序集“NuGet.Server,版本=2.11.1.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

这是我的项目的 web.config 文件以及我的发布配置文件

我的目标 .NET Framework 版本是 4.6,但包本身是早期版本的 .NET。这可能是问题吗?我把项目文件夹放在我本地机器上的物理路径上,当我在调试模式下运行项目时它工作得很好。请看下面的截图:

注意:由于组织保密政策,我必须隐藏包名。

我指的是这些包文件:

D:\Backup\Dropbox\vox_server_01\nuget\Packages

我创建这个 NuGet 服务器的原因是因为现有的服务器有问题。

这可能是 IIS 中用户组的权限吗?此链接Could not load file or assembly 'someProject' or one of its dependencies. Access is denied 将我引向该问题。关于如何解决这个问题的任何建议?

更新:以下是我的软件包来源:

【问题讨论】:

  • 您的 web.config 文件中是否添加了绑定重定向?发布项目时是否添加了任何内容?
  • @MartinUllrich 不,我签入了我的项目文件,没有 AutoGenerateBindingRedirects 属性,所以我使用的默认值设置为 false。
  • @MartinUllrich 还是什么都没有?

标签: asp.net iis nuget nuget-package nuget-server


【解决方案1】:

我无法复制您的错误,但这里有一些说明如何解决 nuget 服务器问题:

web.config 中的 packagesPath 键可以留空,因为您已经在使用默认文件夹 \Packages。

部署到服务器时,您可能会在Access to the path <b>server</b>.cache.bin is denied 行中发现错误。只需在您的服务器上创建一个具有该名称的空白文件即可。

【讨论】:

    【解决方案2】:

    因为同样的问题来到这里。有趣的是,我的解决方案也命名为“Nuget.Server”。更改我的程序集名称(在项目属性下)修复了它。将其重命名为“NugetServer”

    【讨论】:

      【解决方案3】:

      如果在您的 Web.config 中有对此 NuGet.Server 包的引用,请将其从文件中删除并再次尝试运行。与 web.config 中错误引用的 BadImageFormatException 非常相似

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-14
        • 2019-03-18
        • 2017-11-08
        • 2018-03-21
        相关资源
        最近更新 更多