添加对不同项目中所有 Web 应用程序网页的命名空间引用
Add a namespace reference to ALL web application web pages in a different project
我有一个包含三个项目的解决方案:
- 项目 1 - 可重复使用 Logic/Methods(适用于所有其他项目)
- 项目 2 - 网站
- 项目 3 - Web 应用程序(项目 2 正在转换为 Web 应用程序)
在项目 1 中我有这个代码:
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Web
Imports System.Runtime.CompilerServices
Namespace MyCompany
Public Module DataExtensionMethods
<Extension()> _
Public Function SortByColumn(ByVal dt As DataTable, ByVal SortString As String) As DataTable
' Amazing stuff here...
Return dt
End Function
End Module
End Namespace
在老式的 Project 2 网站中,通过将以下内容添加到 web.config 即可轻松访问此扩展方法:
<pages controlRenderingCompatibilityVersion="4.0" validateRequest="true" clientIDMode="AutoID">
<namespaces>
<add namespace="MyCompany.DataExtensionMethods"/>
</namespaces>
</pages>
扩展方法立即可用于所有对 DataTable 变量的引用。
但是,我无法在项目 3(Web 应用程序)中在应用程序范围内使用它。
在每个页面中,我可以添加:
Imports MyCompany.DataExtensionMethods
这样扩展方法就可用了,但是我如何在整个应用程序范围内实现相同的功能,而不必在每个页面上都使用 Imports?
在项目 2 和项目 3 中,我都使用“添加引用”对话框定义了对项目 1 的引用。复选框显示仍然存在,但项目 3 无法查看项目 1 的逻辑。似乎有很多人看到 same behaviour with WebAPI,但没有看到网页应用程序。
在 VB 中,您可以通过在解决方案资源管理器中右键单击您的项目,选择属性,为项目设置一个全局导入的命名空间。
在引用选项卡上,底部是 导入的命名空间 部分。您可以在那里添加您的命名空间 MyCompany.DataExtensionMethods
,它会像您在所有源文件中键入 Imports MyCompany.DataExtensionMethods
一样工作。
我有一个包含三个项目的解决方案:
- 项目 1 - 可重复使用 Logic/Methods(适用于所有其他项目)
- 项目 2 - 网站
- 项目 3 - Web 应用程序(项目 2 正在转换为 Web 应用程序)
在项目 1 中我有这个代码:
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Web
Imports System.Runtime.CompilerServices
Namespace MyCompany
Public Module DataExtensionMethods
<Extension()> _
Public Function SortByColumn(ByVal dt As DataTable, ByVal SortString As String) As DataTable
' Amazing stuff here...
Return dt
End Function
End Module
End Namespace
在老式的 Project 2 网站中,通过将以下内容添加到 web.config 即可轻松访问此扩展方法:
<pages controlRenderingCompatibilityVersion="4.0" validateRequest="true" clientIDMode="AutoID">
<namespaces>
<add namespace="MyCompany.DataExtensionMethods"/>
</namespaces>
</pages>
扩展方法立即可用于所有对 DataTable 变量的引用。
但是,我无法在项目 3(Web 应用程序)中在应用程序范围内使用它。
在每个页面中,我可以添加:
Imports MyCompany.DataExtensionMethods
这样扩展方法就可用了,但是我如何在整个应用程序范围内实现相同的功能,而不必在每个页面上都使用 Imports?
在项目 2 和项目 3 中,我都使用“添加引用”对话框定义了对项目 1 的引用。复选框显示仍然存在,但项目 3 无法查看项目 1 的逻辑。似乎有很多人看到 same behaviour with WebAPI,但没有看到网页应用程序。
在 VB 中,您可以通过在解决方案资源管理器中右键单击您的项目,选择属性,为项目设置一个全局导入的命名空间。
在引用选项卡上,底部是 导入的命名空间 部分。您可以在那里添加您的命名空间 MyCompany.DataExtensionMethods
,它会像您在所有源文件中键入 Imports MyCompany.DataExtensionMethods
一样工作。