错误:
方法“ MyController”,类型为“ MyProject.AppStart.Selector”,来自 Assembly'MyProject,Version = 1.0.0.0,Culture = neutral, PublicKeyToken = ......'没有实现。
背景:
我有一个ASP.NET
项目,其target
框架设置为.NET Framework 4.6.2
。从Microsoft.Azure.SignalR.AspNet
安装1.0.0-preview1-103a17
nuget package manager
后,它可以在Visual Studio 2017
上构建并正常运行。没问题当我将发行版部署到服务器上并尝试访问其任何服务时,会出现上述错误。该方法在实现System.Web.Http.Dispatcher.IHttpControllerSelector
的类中实现。
配置:
我尝试过的事情:
obj
和bin
文件夹,然后再次发布和部署。Release
更改为Debug
。Azure SDK
计算机上安装Windows 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的同一台计算机上正常运行。
答案 0 :(得分:0)
在Windows Server 2012 R2
机器上,我最初安装的是.NET Core 2.2 runtime
而不是SDK
。我按顺序安装了以下内容:
在安装.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 。
希望此解决方案也能帮助其他人。