0

在 Visual Studio 中,您可以使用以下屏幕为 VB.NET 应用程序设置默认命名空间:

在此处输入图像描述

您可以对作为 ASP.NET Web 应用程序的 Visual Studio 项目执行相同的操作。它不适用于 ASP.NET 网站,为什么?我在一个网站上看到了这个:

在此处输入图像描述

4

4 回答 4

3

由于 ASP.NET 网站的分发和编译方式,没有理由使用默认命名空间,因为每个 ASP.NET 文件都是在第一次加载页面时动态编译并转换为自己的 DLL(“旧方式”做 ASP.NET)。

但是,对于 Web 应用程序,一堆代码隐藏文件(以及可能的其他代码文件)被预编译到单个 DLL 中,这会造成将所有这些文件放入单个命名空间中的好主意。

你可以把它想象成一个 Web Site 是一个 Web Pages 的集合,而一个 Web Application 是一个统一的整体。

于 2012-11-28T15:32:08.617 回答
1

简短的回答:网站项目缺少 Web 应用程序项目所具有的许多功能。

请参阅ASP.NET:网站还是 Web 应用程序?进行详细比较。

于 2012-11-28T15:15:23.823 回答
1

我正在使用网站,我需要一种从 Global.asax 文件中访问 BundleConfig、IdentityConfig 和 RouteConfig 类和模块的方法。我能够将这些文件放入“App_Code”文件夹中,该文件夹允许您在类和模块周围放置名称空间。

这是一个例子:

Namespace TCEmpSite
    Public Module RouteConfig
        Sub RegisterRoutes(ByVal routes As RouteCollection)
            Dim settings As FriendlyUrlSettings = New FriendlyUrlSettings()
            settings.AutoRedirectMode = RedirectMode.Permanent
            routes.EnableFriendlyUrls(settings)
        End Sub
    End Module
End Namespace

然后在 Global.asax 文件中我能够做到这一点:

Private Sub Application_Start(sender As Object, e As EventArgs)
        ' Code that runs on application startup
        TCEmpSite.RouteConfig.RegisterRoutes(RouteTable.Routes)
        TCEmpSite.BundleConfig.RegisterBundles(BundleTable.Bundles)
        TCEmpSite.IdentityConfig.ConfigureIdentity()
    End Sub

希望这对某人有帮助!

于 2015-05-27T23:32:43.810 回答
0

网站不会创建 dll,但会创建网络应用程序。要为网站创建 dll,请使用 web_deploy 项目。

于 2012-11-28T15:29:27.750 回答