这个问题可以被认为是两年前的一个更新,问如何从visual studio 2015中的开放ASP.NET Core解决方案(then called ASP.net vnext,简称为ASP.NET 5)发布到我的本地网络中的另一台机器上,其中部署了IIS,并且应该用它来运行我正在编写的DNX运行时和ASP.NET应用程序。由于该向导不为我提供任何帮助,我相信我将不得不完全手动配置MSDEPLOY解决方案及其配置文件,或与其等效的其他内容。如何从Visual Studio 2015(+ U1)ASP.NET Core发布到Windows Server 2012 R2上的IIS?
自原来的问题以来,情况发生了很大变化,所以我要求提供ASP.NET 5和DNX 1.0 RC1。
还有一些related其他questions,要求如何做到这一点,并提到WebDeploy 3.6,也指近2年前的测试版本。
因此,我相信这个问题对于Visual Studio 2015应该有一个新的和不同的答案,现在ASP.NET 5已经发布了候选版本并且功能完整。现在怎么做?
还应该清楚我说的不是从我的Visual Studio解决方案上C:\DEV\WORKINGCOPY
部署到我自己的机器的c:\inetpub\wwwroot
,而是通过网络复制,无论是通过网络DAV或FTP或SMB共享,以运行IIS的Windows Server框。
我迄今为止尝试:
使用内置在文件系统的方式发布到Web向导。结果似乎是可以通过web.cmd运行的,它将执行dnx和kestrel,但不会构建可从Windows Server 2012上的IIS 8.x运行的软件包。此外,发布到文件系统模式会创建一堆的东西,包括一组名为approot,logs和wwwroot的基本文件夹,我很确定IIS不应该设置为直接提供approot或logs文件夹。如果我从IIS中查看我的wwwroot \文件夹副本,则发现500内部服务器错误。这就是我期望IIS在不知道如何将web.config放在那里并对它做任何事情时所要做的事情。
试图从命令提示符下手动使用
dnu publish
和dnu pack
,想到也许我可以使用结果来替换我的XYZ-publish.ps1 powershell文件PublishProfiles的内容。 dnu发布命令失败,“bower未被识别为内部或外部命令”。 dnu包成功了,但我不知道如何处理所产生的.nupkg文件以使它们在IIS上运行。
我的总体目标是:
拥有一切在一次点击或者输入一个指令,包括任何预编译组件的任何捆绑和建筑物进行(的NuGet包作为v下一个与Assemblies inclassic .net相同的概念)。
为了让自己和其他读者清楚,在您准备部署之前,一次性在IIS上设置的任务是什么,以及每次单击发布时为您完成的任务以及如何设置他们了。
这似乎是ASP的文档的基本领域。目前,.NET 5的功能非常弱,目前该工具仅针对那些想要将文件包部署到文件夹并从“dnx web”(kestrel)运行的用户或想要在Azure上部署的用户进程在发布向导中完全自动化),而不是那些希望部署到运行IIS的计算机的人。发布向导缺少这种非常明显的(对我来说)的情况;发布到我自己的Windows服务器框,并创建任何IIS脚手架,我需要这个工作。
如果downvoters可以指出这个问题有什么问题,这将不胜感激。 –
凉亭工具似乎不与Visual Studio一起分发。要安装NodeJs,然后输入'npm install bower -g'来安装bower,并将其作为路径中的命令行工具访问,则可能需要手动将'c:\ users \ youraccountname \ appdata \ roaming \ npm'添加到你的路径 –
我认为这个想法是你通过脚本结合这些东西。 IOW,你创建一个运行bower/npm/gulp等的脚本,然后将dnu发布到本地或网络位置,并可选择发布。尽管今天的IIS故事非常糟糕。当前让IIS上的DNX应用程序破坏是一种痛苦。我怀疑这会在RC2中用新的工具解决,如果不是,那么肯定会通过发布。 –