0

错误:

程序集“MyProject,Version=1.0.0.0,Culture=neutral,PublicKeyToken=......”中的“MyProject.AppStart.Selector”类型中的方法“MyController”没有实现。

背景: 我有一个ASP.NET框架target设置为.NET Framework 4.6.2. 从 安装Microsoft.Azure.SignalR.AspNet 1.0.0-preview1-103a17nuget package manager,它可以在Visual Studio 2017. 完全没有问题。当我将版本部署到我的服务器并尝试访问其任何服务时,我收到上述错误。该方法在实现的类中实现System.Web.Http.Dispatcher.IHttpControllerSelector

配置:

  • 代码工作的机器:Windows 10 版本 1809(操作系统内部版本 17763.316)。视觉工作室 2017 15.9.6。

在此处输入图像描述

  • 代码不起作用的机器:Windows Server 2012 R2 版本 6.2 Build 9200。IIS 版本 8.5.9600.16384。

在此处输入图像描述

我尝试了什么:

  • 再次清理/重建部署。
  • 删除objbin文件夹,再次发布和部署。
  • 按照此处的建议删除了 CachedAssessmbly 。
  • 将配置从 更改ReleaseDebug
  • 安装Azure SDKWindows Server 2012 R2机器上。
  • 尝试安装依赖项Microsoft.Azure.SignalR.AspNet而不直接安装Microsoft.Azure.SignalR.AspNet. 似乎错误开始Microsoft.Azure.SignalR.Protocols安装。的依赖关系Microsoft.Azure.SignalR.Protocols是:

在此处输入图像描述

我安装时添加了所有这四个依赖项,Microsoft.Azure.SignalR.Protocols即它们尚未被使用。

我似乎找不到问题。

更新: 我在上面提到的 Windows 10 机器上部署了文件夹并用于IIS Manager创建应用程序。该应用程序在没有 Visual Studio 的同一台机器上运行良好。

4

1 回答 1

0

Windows Server 2012 R2机器上,我原来安装.NET Core 2.2 runtime的是SDK. 我按顺序安装了以下内容:

  1. .NET Core 2.2 SDK(部署还是不行)
  2. .NET Framework 4.7.2 Dev Pack(要求重启,推迟)
  3. .NET Framework 4.6.1 开发包

安装后.NET Framework 4.6.1 Dev Pack,我重新启动。现在部署工作

我无法确定解决方案,但我的猜测是安装.NET Core 2.2 SDK解决了这个问题。安装完成后,安装窗口提示Microsoft.AspNetCore已经安装了某个版本。它没有要求重新启动,但我猜由于.NET Core 2.2 Runtime已经安装并被另一个应用程序使用,因此需要重新启动。

Microsoft.AspNetCore没有一起安装就很奇怪了.NET Core 2.2 Runtime

修复此问题需要相当长的时间,因为在许多其他情况下可能会出现typeloadexception 。

希望这个解决方案也能帮助其他人。

于 2019-02-17T12:06:00.353 回答