是否有可能在Visual Studio的Asp.Net源代码编辑器和设计器中覆盖虚拟路径解析行为?

时间:2012-01-28 10:31:08

标签: asp.net visual-studio

我有一些图像作为嵌入资源捆绑到程序集中,可通过VirtualPathProvider的实现访问。我也有一个Asp.Net网站引用这个程序集,在给定的aspx中,我可以这样说:

<asp:Image runat="server" ImageUrl="~/virtualpath/image.png" />

其中 virtualpath 是我的资源程序集处理的路径, image.png 是嵌入在该程序集中的一些实际的png文件。

如果我在浏览器中请求此页面,一切都很好,图像就会出现。但是,在Visual Studio中(在设计时)查看aspx源会显示编译器警告“〜/ virtualpath / image.png”不存在。另一方面,在wysiwyg设计器中查看,工作和图像就像浏览页面时一样。看似不一致但可行的行为。

所以我也有一个母版页及其代码嵌入到我的资源程序集中,但结果略有不同。在我的网站上,我可以用以下内容引用母版页:

<%@ Page Language="C#" MasterPageFile="~/virtualpath/default.master" ...

同样,在浏览器中请求此页面效果很好,并且加载主页面就好像它实际上是站点的一部分一样。但在设计时,Visual Studio现在显示编译错误,在编辑aspx时会阻止代码完成/智能感知等好处。更糟糕的是,wysiwyg根本不会加载母版页并显示错误。 (说实话,我不喜欢与wysiwygs一起工作,但需要在这个特定项目中支持wysiwyg。)

Visual Studio似乎在设计时仅部分支持我的VirtualPathProvider。这是预期的行为吗?如果是这样,有什么方法可以配置或以其他方式欺骗Visual Studio在设计时解析虚拟路径时始终尊重我的VirtualPathProvider?

0 个答案:

没有答案