我试图找到一种方法在IIS上运行MVC6应用程序,但没有实际进行发布.我不确定这是否可能,如果不可能,将来是否可能?
我想在以前的版本中有类似的行为,我可以轻松地调试我的代码并在IIS下运行应用程序时进行更改.
Sha*_*tin 16
从你原来的问题(强调添加):
我试图找到一种方法在IIS上运行MVC6应用程序,但没有实际进行发布.
从你的评论到tugberk(重点补充):
现在,每当我进行更改时,我都需要调用该dnu发布命令,以便在IIS上查看我的更改.我只想通过重建来看他们.
你需要发布.至少有两个原因:
IIS可能还需要其他一些东西,我不知道.所以,你需要发布.这不是什么大问题:在一次性设置之后,发布并不需要比重建更长的时间.
你为什么需要发表?
在Visual Studio 2015中,如果构建ASP.NET 5 Web应用程序,则解决方案目录下将不会有构建输出,并且IIS需要构建输出.默认情况下,Roslyn仅运行代码分析而不会发出构建输出.
您可以更改该默认值,以便Roslyn确实发出构建输出,但这不会产生IIS所需的web.config文件.通过转到View> Project Properties> Build和检查"生产上生成输出",罗斯林将发出输出到artifacts目录.例如:
artifacts/bin/MyWebApp/Debug/MyWebApp.1.0.0.nupkg
artifacts/bin/MyWebApp/Debug/MyWebApp.1.0.0.symbols.nupkg
artifacts/bin/MyWebApp/Debug/app/project.json
artifacts/bin/MyWebApp/Debug/dnx451/MyWebApp.dll
artifacts/bin/MyWebApp/Debug/dnx451/MyWebApp.pdb
artifacts/bin/MyWebApp/Debug/dnx451/MyWebApp.xml
artifacts/bin/MyWebApp/Debug/dnxcore50/MyWebApp.dll
artifacts/bin/MyWebApp/Debug/dnxcore50/MyWebApp.pdb
artifacts/bin/MyWebApp/Debug/dnxcore50/MyWebApp.xml
Run Code Online (Sandbox Code Playgroud)
如果你将IIS指向artifacts目录,你现在就会遇到既没有a wwwroot也没有a的问题web.config.
因此,您需要发布(或制定一些其他复杂的解决方案)以便IIS与ASP.NET 5一起使用.如果要从Visual Studio发布到本地IIS网站,则需要进行一次性设置.在一次性设置之后,您可以对代码进行更改并通过两次单击发布.这是一次性设置:
dnx-clr-win-x64.1.0.0-beta4发布完成后,C:\inetpub\MyWebApp\wwwroot将IIS指向,您将能够浏览到该网站.此外,您现在可以更改代码,通过两次单击发布,并刷新IIS站点以查看更改.
如果确实选择发布到inetpub,请确保以管理员身份运行Visual Studio,以免收到权限不足错误.
如果您接受默认发布位置(而不是如上所示使用inetpub),请注意路径太长的错误(即> 260个字符.)
为什么不在开发期间使用Visual Studio和Debug> Start without debugging.使用Roslyn和Visual Studio 2015,您可以通过刷新Web浏览器对代码进行更改并查看这些更改.不需要重建.这是一个更好的工作流程.
这是可能的.在项目的根目录下(project.json目录),运行以下命令:
dnu publish --runtime active --out bin/artifacts
Run Code Online (Sandbox Code Playgroud)
发布完成后,您在bin/artifacts文件夹下有一些东西.将IIS应用程序池指向bin/artifacts/wwwroot我们刚刚创建的文件夹,它应该可以工作.请记住,您至少需要.NET 4.5.1.
| 归档时间: |
|
| 查看次数: |
3256 次 |
| 最近记录: |