我将.net core 2.0安装到我的
Windows Server 2008
我有两个网络项目.它们都在我的电脑上工作.但是当我发布到我的服务器时,一个项目工作得非常好,但其他项目给出了错误
我有两个网络项目.它们都在我的电脑上工作.但是当我发布到我的服务器时,一个项目工作得非常好,但其他项目给出了错误
HTTP Error 502.5 – Process Failure
Application ‘MACHINE/WEBROOT/APPHOST/KI-TAP.COM’
with physical root ‘C:\HostingSpaces\Reseller1\ki-tap.com\wwwroot\’
failed to start process with commandline
‘dotnet .\ki-tap.dll’,ErrorCode = ‘0x80004005 : 8000808c.
我更新我的Windows服务器,但它仍然给出相同的错误.
这是我的program.cs(我这里没有添加代码.这是默认的)
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .Build(); }
这是我的web.config(已发布和默认代码)
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\ki-tap.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" /> </system.webServer> </configuration>
这是我的startup.cs(我添加了会话配置)
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace ki_tap { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddSession(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app,IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseSession(); app.UseMvc(routes => { routes.MapRoute( name: "default",template: "{controller=Home}/{action=Index}/{id?}"); }); } } }
编辑:
使用@set建议,我在cmd控制台的Windows Server 2008中运行该命令
C:\Program Files (x86)\dotnet\dotnet myProjectPath\project.DLL
它给出了以下错误.我该怎么办?
package: 'Microsoft.AspNetCore.Antiforgery',version: '2.0.1' path: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll' his assembly was expected to be in the local runtime store as the application s published using the following target manifest files: aspnetcore-store-2.0.3.xml
解决方法
您可能遇到与aspnet / IISIntegration repo中描述的
here相同的问题.解决方案是将以下内容添加到.csproj文件中:
<PropertyGroup> <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> </PropertyGroup>
一般来说,这个问题的根源是本地计算机上的dotnet版本和服务器上的dotnet版本不同.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。