ASP.NET核心Web API:系统找不到指定的文件,文件名:'系统.服务模型

iyr7buue  于 2023-03-13  发布在  .NET
关注(0)|答案(1)|浏览(267)

我正在尝试添加一个ASP.NET核心Web API到我的应用程序中,这样外部应用程序就可以查询它在内存中的数据,尽管它抱怨我的系统上缺少文件。
我安装了Microsoft.AspNet.WebApi.OwinSelfHost包并添加了以下代码:

var config = new HttpSelfHostConfiguration("http://localhost:8080");

现在我得到这个错误:
未处理的异常。系统.IO.文件未找到异常:未能加载文件或程序集“System.ServiceModel,版本=4.0.0.0,区域性=neutral,PublicKeyToken= b77a5c561934e089”。系统找不到指定的文件。
文件名:“系统.服务模型,版本=4.0.0.0,区域性=非特定区域性,公钥标记=b77a5c561934e089”
如果我安装包System.ServiceModel.Primitives,那么我会得到:
未处理的异常。系统.IO.文件未找到异常:未能加载文件或程序集“System.ServiceModel.Http,版本=4.10.0.0,区域性=中性,PublicKeyToken= b03f5f7f11d50a3a”。系统找不到指定的文件。
文件名:“System.ServiceModel.Http,版本=4.10.0.0,区域性=非特定区域性,公钥标记=b03f5f7f11d50a3a
如果安装System.ServiceModel.Http,则会得到:
未处理的异常。系统类型加载异常:未能从程序集"系统.服务模型,版本=4.0.0.0,“加载类型”系统.服务模型.

6rqinv9w

6rqinv9w1#

这是因为当前没有包含HostNameComparisonMode类型的ASP .NET-Core的System.ServiceModel.dll版本。
例如,如果转到Microsoft文档中的HostNameComparisonMode Enum页并选择.NET 5,则将收到以下消息:
请求的页面不可用于**.NET 5**。您已被重定向到此页面可用于的最新产品版本。
NET 6/7/8也是如此。

  • 注意:如果您将编译.Net Framework 4.8的项目,则System.ServiceModel.dll中将出现以下声明:*

相关问题