這個問題可以被認爲是兩年前的一個更新,問如何從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中用新的工具解決,如果不是,那麼肯定會通過發佈。 –