ASP.NET vNext - 动态编译代码不适合我

Posted

技术标签:

【中文标题】ASP.NET vNext - 动态编译代码不适合我【英文标题】:ASP.NET vNext - compile code dynamically not working for me 【发布时间】:2014-07-27 17:50:29 【问题描述】:

我在这里浏览了这个教程: http://www.asp.net/vnext/overview/aspnet-vnext/getting-started-with-aspnet-vnext-and-visual-studio

我正在执行第 2 节中的第 7 步 - “在浏览器仍然打开的情况下,打开 Class1.cs 并将消息文本更改为“来自 ClassLibrary1 的新消息!”。

不幸的是,在更改代码后,当我刷新浏览器时,它与之前相同。我必须重新编译才能使更改生效。

任何想法为什么?我想看到奇迹发生!

Windows 7 64 位 Microsoft Visual Studio 专业版 14 CTP 版本 14.0.21730.1 DP 微软 .NET 框架 版本 4.5.50938

project.json:


    "dependencies": 
        "Helios": "0.1-alpha-build-0585",
        "Microsoft.AspNet.Mvc": "0.1-alpha-build-1268",
        "Microsoft.AspNet.Identity.Entity": "0.1-alpha-build-1059",
        "Microsoft.AspNet.Identity.Security": "0.1-alpha-build-1059",
        "Microsoft.AspNet.Security.Cookies": "0.1-alpha-build-0506",
        "Microsoft.AspNet.Server.WebListener": "0.1-alpha-build-0520",
        "Microsoft.AspNet.StaticFiles": "0.1-alpha-build-0443",
        "Microsoft.Data.Entity": "0.1-alpha-build-0863",
        "Microsoft.Data.Entity.SqlServer": "0.1-alpha-build-0863",
        "Microsoft.Framework.ConfigurationModel.Json": "0.1-alpha-build-0233",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0-alpha",
        "Classlibrary1": ""
    ,
    "commands": 
        /* Change the port number when you are self hosting this application */
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
    ,
    "configurations": 
        "net45": 
            "dependencies": 
                "System.Data": "",
                "System.ComponentModel.DataAnnotations": ""
            
        ,
        "k10": 
        
    

保罗

【问题讨论】:

【参考方案1】:

您可能正在运行附加的调试器。文件观察器不适用于附加的调试器。为什么?长话短说:重新启动 IIS (express) 以获取程序集更改,因此这不适用于附加的调试器,因为它会终止您的调试会话。

在不调试的情况下启动网站,然后更改代码文件并刷新 - 奇迹发生了。

稍后编辑:要在不调试的情况下启动应用程序,请使用 Ctrl + F5Debug -> Start without debugging

【讨论】:

这也在这里讨论:forums.asp.net/t/… 我发现ctrl + shift + w(在浏览器中查看)效果最好,因为如果它已经在运行,它不会重新启动应用程序。 这个非常烦人的限制会得到解决,还是我们被困住了? (我猜你可以杀死附加的调试器并开始一个新的会话,对吧?)【参考方案2】:

看来,这是一个已知问题,希望以后能解决https://github.com/aspnet/Home/issues/22

【讨论】:

以上是关于ASP.NET vNext - 动态编译代码不适合我的主要内容,如果未能解决你的问题,请参考以下文章

在 ASP.NET vNext 中,为啥没有即时重新编译代码?

ASP.NET vNext 可以使用非 vNext 引用吗?

在 ASP.NET vNext 中使用 Ninject 时出现编译器错误 CS0246(未找到类型或命名空间)

如何在 vNext 中将所有 cshtml 文件编译成 DLL 或 .net 程序集?

ASP.NET 5 (vNext) - 获取配置设置

ASP.NET 5 (vNext) - 获取配置设置