在Visual Studio中,您可以使用以下屏幕为VB.NET应用程序设置默认命名空间:
您可以对ASP.NET Web应用程序的Visual Studio项目执行相同的操作。它不适用于ASP.NET网站,为什么?我在网站上看到了这个:
答案 0 :(得分:3)
由于ASP.NET Web站点的分发和编译方式,没有理由使用默认命名空间,因为每个ASP.NET文件都是在第一次加载页面时动态编译并转换为自己的DLL(“ “做ASP.NET的旧方法”。
然而,对于Web应用程序,一堆代码隐藏文件(以及可能的其他代码文件)被预编译到单个DLL中,然后创建一种将所有这些文件放入单个命名空间的好主意。
您可以将其视为网站的集合,但Web应用程序是一个统一的整体。
答案 1 :(得分:1)
简短回答:网站项目缺少Web应用程序项目的许多功能。
有关详细比较,请参阅ASP.NET: Web Site or Web Application?。
答案 2 :(得分:0)
网站不会创建网址,但网络应用会创建。要为网站创建dll,请使用web_deploy项目。
答案 3 :(得分:0)
我正在使用网站,我需要一种方法来访问我的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
希望这有助于某人!