IIS上的ASP NET 5 Web应用程序部署

IIS上的ASP NET 5 Web应用程序部署,iis,deployment,visual-studio-2015,asp.net-core,Iis,Deployment,Visual Studio 2015,Asp.net Core,我正在尝试在IIS上部署ASP NET 5 Web应用程序,但无法使其正常工作,它会给我以下错误: 无法解析目标框架的以下依赖项 'DNX,Version=v4.5.1':..(包含我的 (项目) 看起来它无法解析依赖项的路径,但是如果我检查“Approt”文件夹,它们都在那里。 我的“project.json”是这样的: "dependencies": { "EntityFramework": "7.0.0-beta4", "EntityFramework.Commands":

我正在尝试在IIS上部署ASP NET 5 Web应用程序,但无法使其正常工作,它会给我以下错误:

无法解析目标框架的以下依赖项 'DNX,Version=v4.5.1':..(包含我的 (项目)

看起来它无法解析依赖项的路径,但是如果我检查“Approt”文件夹,它们都在那里。 我的“project.json”是这样的:

"dependencies": {
    "EntityFramework": "7.0.0-beta4",
    "EntityFramework.Commands": "7.0.0-beta4",
    "EntityFramework.Core": "7.0.0-beta4",
    "EntityFramework.SqlServer": "7.0.0-beta4",
    "Microsoft.AspNet.Mvc": "6.0.0-beta4",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta4",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta4",
    "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4",
    "Newtonsoft.Json": "7.0.1",
    "System.Xml.XmlDocument": "4.0.0-beta-22816"
},

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

"frameworks": {
    "dnx451": { }       
}
“wwwroot”文件夹中web.config的路径似乎也正常:

<appSettings>
  <add key="bootstrapper-version" value="1.0.0-beta4" />
  <add key="runtime-path" value="..\approot\packages" />
  <add key="dnx-version" value="1.0.0-beta4" />
  <add key="dnx-clr" value="clr" />
  <add key="dnx-app-base" value="..\approot\src\Astarte" />
</appSettings>


我真的很困惑,你知道问题出在哪里吗?

你可能需要指定你需要的sdk版本(在你的例子中是1.0.0-beta4)。尝试在应用程序根目录中添加global.json文件,如下所示:

{
    "sdk": { "version": "1.0.0-beta4" }
}

*另一方面,正如@Henk Mollema所说的,您可能应该在某个时候升级到更新的测试版,因为beta4现在已经很旧了。但是,请注意,这将导致破坏性的更改,因此您可能需要单独解决此问题

您想使用beta4位的具体原因是什么?这是一个非常旧的版本-beta7是最新的稳定版本。只是因为升级到beta 6或7对Entity Framework 7有着深刻的突破性变化。我肯定会很快升级它,但现在我需要尽快在生产服务器上部署这个版本。我已经在“Approt”文件夹中有了这个global.json。它看起来是这样的:
code
{“项目”:[“Astarte”,“TestAstarte”],“sdk”:{“版本”:“1.0.0-beta4”},“软件包”:“软件包”}
code
关于升级到最近的测试版,我暂时不想做,因为它会破坏很多东西。我只想在IIS上部署它。最后问题是关于项目的结构。文件global.json必须包含在项目文件夹外的.sln文件中。这是一件愚蠢的事情,但它打破了所有的依赖关系,所以要小心,它差点让我发疯。