2016-01-11 25 views
0

我根据互联网上的一些资源,可配置的一切,但我不知道我错过..运行Asp.net 5 vNext项目(MVC6)发布构建在Windows Server 2012 R2

当我尝试手动启动它(我的本地计算机上的作品!)我得到的服务器上的以下结果:

PS C:\Users\Administrator> cd C:\inetpub\wwwroot\approot\myproject\approot 
PS C:\inetpub\wwwroot\approot\myproject\approot> .\web 
Error: Unable to load application or execute command 'Microsoft.AspNet.Hosting'. Available commands: web, kestrel. 
System.IO.FileNotFoundException: The system cannot find the file specified. (Exception from HRESULT: 0x80070002) 
    at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence) 
    at System.Reflection.Assembly.LoadFile(String path) 
    at Microsoft.Dnx.Runtime.Loader.LoadContext.LoadFile(String assemblyPath) 
    at Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemblyName, IAssemblyLoadContext loadContex 
t) 
    at Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemblyName) 
    at Microsoft.Dnx.Host.LoaderContainer.Load(AssemblyName assemblyName) 
    at Microsoft.Dnx.Host.DefaultLoadContext.LoadAssembly(AssemblyName assemblyName) 
    at Microsoft.Dnx.Runtime.Loader.AssemblyLoaderCache.GetOrAdd(AssemblyName name, Func`2 factory) 
    at Microsoft.Dnx.Runtime.Loader.LoadContext.LoadAssemblyImpl(AssemblyName assemblyName) 
    at Microsoft.Dnx.Runtime.Loader.LoadContext.ResolveAssembly(Object sender, ResolveEventArgs args) 
    at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName) 

事情在Windows Server 2012上完成:

  1. 安装DNVM/DNX
  2. 启用的功能IIS &应用程序服务器(选定的Web服务器(IIS)也支持应用程序服务器)
  3. 。安装了.NET 4.5.2。

DNVM列表输出:

Active Version   Runtime Architecture OperatingSystem Alias 
------ -------   ------- ------------ --------------- ----- 
     1.0.0-rc1-update1 clr  x86   win    default 

在我的项目和本地计算机使用哪种是一样的。

我也寻找从IIS的stdout.log,因为我也试着用iis设置它。但没有运气。并且没有创建或可以找到日志。

备案project.json

{ 
    "webroot": "wwwroot", 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
    "Swashbuckle.SwaggerGen": "6.0.0-rc1-final", 
    "Swashbuckle.SwaggerUi": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Server.WebListener": "1.0.0-rc1-final" 
    }, 

    "commands": { 
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000", 
    "kestrel": "Microsoft.AspNet.Server.Kestrel", 
    }, 


    "frameworks": { 
    "dnx451": { 
     "dependencies": { 
     "Microsoft.AspNet.Mvc.ViewFeatures": "6.0.0-rc1-final", 
     "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final" 
     } 
    }, 
    "dnxcore50": { } 
    }, 

    "exclude": [ 
    "wwwroot", 
    "node_modules", 
    "bower_components" 
    ], 
    "publishExclude": [ 
    "node_modules", 
    "bower_components", 
    "**.xproj", 
    "**.user", 
    "**.vspscc" 
    ] 
} 

如需更多信息,请让我知道。

回答

0

不知道为什么,因为我认为发布将包含一切能够运行。但是..我找到了一个解决方案。

如果您在服务器上的powershell中运行Approot> SRC> ProjectName文件夹并运行dnu restore .. web.cmd将突然生效!当它加载丢失的包裹!

相关问题