azure远程网站不显示我的所有代码文件

时间:2015-02-17 23:49:05

标签: asp.net-mvc azure remote-debugging

我正在尝试远程调试我的asp.net上的asp.net mvc网站。我以调试模式发布了我的项目,然后查看我的远程网站文件夹,它只显示1个csharp文件而不是所有文件。我不知道为什么我看不到他们所有人。

1 个答案:

答案 0 :(得分:4)

实际上,发布任何.cs个文件很有意思。假设您直接从Visual Studio发布到Azure,MVC应用程序首先被编译然后部署,并且编译器的输出中不应该有任何.cs文件。

来自msdn

  

编译器生成可执行(.exe)文件,动态链接库   (.dll)或代码模块(.netmodule)。

在调试模式下发布并不会改变这一点。来自msdn

  

/ debug选项使编译器生成调试   信息并将其放在输出文件中。

通过比较,所有的"静态"项目中的文件(视图,样式表,脚本等)部署在与项目相同的目录结构中。但是所有C#文件(控制器,模型类,自定义属性等)都被编译到可执行文件中,如上所述,然后将其放在bin文件夹中。

作为实验,请尝试将您的网站发布到本地计算机并检查目标文件夹。假设您的解决方案只包含一个项目(假设它被称为GiantCorp.AwesomeApp.Web),它的结构可能与此类似:

bin/
    GiantCorp.AwesomeApp.Web.dll // <= all your C# classes compiled to a single executable
    GiantCorp.AwesomeApp.Web.pdb // <= if you compile/publish in Debug mode
    System.dll
    System.Web.Mvc.dll
    ....etc for any required library or .NET assembly dependencies
Content/
    bootstrap.css
    Site.css
Scripts/
    jquery.min.js
    giantcorp.app.js
    ....etc
Views/
    Home/
        Index.cshtml
        About.cshtml
    AwesomeFeature/
        Index.cshtml
    Shared/
        _Layout.cshtml
    _ViewStart.cshtml
    Web.config
Global.asax
Web.config