我在Web应用程序项目中引用了一个类库(两者都在同一个解决方案中)。在Web应用程序的网页中,如果我这样做:
If MyValidation.CorrectEmailFormat(email) Then ...
... Visual Studio 2013强调了该方法,并建议我在页面顶部导入MyCompany.EmailMethods
。如果我执行导入,页面编译并且方法可以正常工作。
但是,因为这些方法在应用程序中广泛使用,所以我不希望每次都在页面级别添加它们。所以我前往web.config,并做了这个:
<pages>
<namespaces>
<add namespace="MyCompany.EmailMethods" />
</namespaces>
</pages>
但是,VS 仍提示我在每个页面的顶部执行导入,如果不执行此操作,则无法在页面中识别该方法。我做错了什么?我假设从MSDN和other sources这是实现这一目标的正确方法。
Web应用程序是ASP.Net网页(4.6)。
答案 0 :(得分:1)
必须将引用添加到导入的命名空间,如以下SO帖子
中所述add-a-namespace-reference-to-all-web-application-web-pages-in-a-different-project
必须在项目属性页面的标题为导入的命名空间
的底部添加答案 1 :(得分:0)
<pages>
指令仅适用于ASPX文件。
你需要使用Razor的等效指令:
<system.web.webPages.razor>
<pages>
<namespaces>
<add namespace="MyCompany.EmailMethods" />