web应用程序服务器错误,'/'应用程序中的服务器错误 . System.Web.Http.WebHost

我正在尝试发布ASP.NET MVC 4 Internet应用程序 . 发布后,我继续点击我网站的链接,找到:

'/'应用程序中的

服务器错误 .

无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一 . 该系统找不到指定的文件 .

Description: 执行当前Web请求期间发生了未处理的异常 . 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息 .

Exception Details: System.IO.FileNotFoundException:无法加载文件或程序集'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其依赖项之一 . 该系统找不到指定的文件 .

Source Error:

在执行当前Web请求期间生成了未处理的异常 . 可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息 .

Assembly Load Trace: 以下信息有助于确定无法装入程序集'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'的原因 .

WRN:程序集绑定日志记录已关闭 . 要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定失败日志记录会导致一些性能损失 . 要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog] .

Stack Trace:

[FileNotFoundException:无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一 . 系统找不到指定的文件 . ] ProyectoFinal.MvcApplication.Application_Start()在c:\ Users \ EAGUILARCO \ Documents \ Visual Studio 2012 \ Projects \ ProyectoFinal \ ProyectoFinal \ Global.asax.cs:26 [HttpException(0x80004005):可能不加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一 . 系统找不到指定的文件 . ] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,HttpApplication app)9916613 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext context,MethodInfo [] handlers)118 System.Web.HttpApplication . InitSpecial(HttpApplicationState状态,MethodInfo []处理程序,IntPtr appContext,HttpContext上下文)172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext context)336 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)296 [HttpException(0x80004005) ):无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一 . 系统找不到指定的文件 . ] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)9930508 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)254

到目前为止我尝试了什么:

修改注册表,失败 . 另外,我不确定这是否能解决我的问题 .

将'System.Web.Http.WebHost Copy Local'属性设置为'true' . 这也没有解决问题 .

Update: System.Web.Http.WebHost的版本是4.0.20710.0

在Winform程序启动Web服务器可以使用自托管Web服务器(OWIN)来实现,这样就不需要使用IIS等其他Web服务器。你可以通过在Main函数添加一个启动Web的方法来实现。首先,你需要引入Microsoft.AspNetCore.Hosting和Microsoft.AspNetCore命名空间,并创建一个静态的Form1对象。然后,在Main函数调用CreateWebHostBuilder方法启动Web服务器,并使用Task.Run方法将其放入后台运行。最后,创建一个Form1对象并运行应用程序。下面是一个示例代码: ```C# using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore; using System; using System.Windows.Forms; namespace 测试一个winform { internal static class Program { //声明一个静态的Form1对象 public static Form1 mainForm; /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { //启动Web服务器 Task.Run(() => { CreateWebHostBuilder(new string[] { }).Build().Run(); }); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); mainForm = new Form1(); Application.Run(mainForm); } //新增加的代码 public static IWebHostBuilder CreateWebHostBuilder(string[] args) { return WebHost.CreateDefaultBuilder(args) .UseUrls("http://0.0.0.0:7001", "https://0.0.0.0:7002") .UseStartup<Startup>(); } } } ``` 通过以上代码,你可以在Winform程序启动一个Web服务器。你可以根据需要修改端口和地址。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [自托管web服务器(OWIN来将WebApi托管到控制台程序来运行)](https://download.csdn.net/download/glen30/87415330)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [.Net Framework 4.6.1+版本的Winform程序开启Web服务,支持Http webapi](https://blog.csdn.net/iml6yu/article/details/130362320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值