Visual studio 2015 如何从VS2015将ASP.NET 5 Aurelia应用程序部署到Azure
我正在尝试使用Visual Studio 2015中的Web deploy([右键单击]->发布)将基于的应用程序部署到Microsoft Azure 但我不能让解聚剂起作用 我已将Visual studio 2015 如何从VS2015将ASP.NET 5 Aurelia应用程序部署到Azure,visual-studio-2015,asp.net-core,aurelia,jspm,azure-deployment,Visual Studio 2015,Asp.net Core,Aurelia,Jspm,Azure Deployment,我正在尝试使用Visual Studio 2015中的Web deploy([右键单击]->发布)将基于的应用程序部署到Microsoft Azure 但我不能让解聚剂起作用 我已将project.json文件中的prepublish设置更改为: "prepublish": [ "npm install", "gulp bundle" ] 但这只会使VisualStudio中的发布过程失败。从控制台运行gulp bundle可以正常工作 因此,我的下一次尝试是删除所有预发布任务,手动运行打包,
project.json
文件中的prepublish
设置更改为:
"prepublish": [ "npm install", "gulp bundle" ]
但这只会使VisualStudio中的发布过程失败。从控制台运行gulp bundle
可以正常工作
因此,我的下一次尝试是删除所有预发布
任务,手动运行打包
,然后发布。这允许发布过程完成,但azure上的web应用程序从未加载,最终给我一个超时
我认为这可能与jspm_packages
文件夹有关,我尝试基于将这些包包含在Web.xproj
文件中,但这导致了以下错误:
502 - Web server received an invalid response while acting as a gateway or proxy server.
更新
我已尝试将prepublish
脚本设置回原处,并从控制台运行dnu publish
。运行时不会出现问题的ad会在\bin\output\wwwroot
文件夹中生成所有必要的输出。但是,当从VisualStudio中的Publish contect菜单操作运行时,相同的过程失败;没有生成任何输出
只是把它加在这里,以防它对这个问题有所启发
更新2
好的,我注意到dnu publish
命令的关闭消息是
Using command 'web' as entry point for web.config
然后一便士掉了下来。Aurelia骨架导航解决方案在“project.json”中定义了以下命令:
"web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://*:9000/",
当然,这在Azure中不起作用。因此,我删除了--server.url
选项,删除了预发布
脚本,再次从项目.json
中删除,瞧,应用程序运行
…未绑定
无论如何,自从开始输入这个问题以来,已经发生了很多变化,但我仍然想知道:
prepublish
任务时,为什么从Visual Studio发布失败project.json
中删除--server.url
设置后,我从未尝试过发布捆绑应用程序
那么我们现在在哪里?
使用“”预发布“:[“打包打包”]
发布到Azure仍然失败。这是Aurelia导航框架附带的gulpfile.js
:
require('require-dir')('build/tasks');
当运行预发布
任务时,Visual Studio会在watch.js
的以下行中抛出错误:
console.log(`File ${event.path} was ${event.type}, running tasks...`);
这是非常不可理解的,因为bundle
任务不调用watch
。曾经从控制台运行gulp bundle
,工作正常
因此,VS2015似乎正在从build/tasks
文件夹加载每个任务。
我已经尝试对watch.js
文件进行了完整的注释,但是我只发现了以下错误:预发布失败,代码为1
如果您对我为什么不能使用prepublish
任务发布有任何帮助或想法,我们将不胜感激。若要使用Web Deploy(右键单击>发布)将发布到Azure,我们必须对project.json进行两项更改
添加一个预发布条目,该条目将安装NPM依赖项(否则gulp将失败),安装JSPM包,并与gulp捆绑
"prepublish": [ "npm install", "jspm install -y", "gulp bundle" ]
从web命令中删除--server.url=http://*:9000/
,因为Azure不支持该地址。这是正确的条目:
"web": "Microsoft.AspNet.Server.Kestrel"
有了这两项更改,Web Deploy将使用Visual Studio Community 2015 Update 2对本地IIS和Azure Web应用程序进行部署。您使用的是typescript还是ECMA骨架?抱歉,忘了提及:我使用的是ES2106。我已更新了我的问题以反映它。发布应用程序后显示web.config文件您是否能够在本地发布到IIS?@ShaunLuttin我已成功发布到azure,无需捆绑和
预发布
任务;在发布Hanks之前,我必须手动运行gulp任务,我会尝试一下。事实上,我们已经成功地与AppVeyor建立了部署,这无疑是一条路要走,但这个问题需要解决:)