我有一个 ASP .Net Core 网站,在本地运行良好,但在部署到 IIS 服务器时收到以下错误。
FileNotFoundException: Could not load file or assembly 'System.DirectoryServices.Protocols, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
Microsoft.AspNetCore.Authentication.Negotiate.PostConfigureNegotiateOptions.PostConfigure(string name, NegotiateOptions options)
我引用以下 nuget 包:
microsoft.aspnetcore.authentication.negotiate (8.0.0)
system.directoryservices.accountmanagement (8.0.0)
system.data.sqlclient (4.8.6)
前两个包都引用了
System.DirectoryServices.Protocols
的8.0.0版本。
部署到服务器后,我可以看到我的工件确实包含
System.DirectoryServices.Protocols
的程序集版本 8.0.0。
我不知道为什么找不到 Protocols dll。
去年发布的这个问题的主题是一个非常相似的问题。 在那个问题中,有人说
System.DirectoryServices.Protocols (7.0.0)
中有一个错误,但由于我使用的是 8.0.0 版本,我假设这不再是问题了。
如有任何帮助,我们将不胜感激。
事实证明,我的构建步骤并未复制项目的所有目录,因此虽然该文件存在于根目录中,但它并不存在于我的应用程序期望的位置。