我希望有人可以帮我解决这个烦恼。

在工作中,我们有两个独立的网站项目,它们共享一个共同的MasterPage。 MasterPage嵌入在两个项目都引用的类库中。我们使用一个自定义的VirtualPathProvider,它使我们可以在每个项目中引用母版页。这在运行时/编译时工作正常,但是会破坏aspx页面标记中的智能感知。

当我将MasterPageFile属性设置为“〜/ EmbeddedMasterPage.Master”时,Visual Studio在其下显示一个红色的squiggley错误,显示“找不到路径”,并带有一个目录,指示其正在尝试在网站项目中查找该文件(而不是类库项目)。由于Visual Studio无法确定母版页的位置,因此导致所有智能感知中断。标签不会显示任何内容。实际上,它只会给我带来基本的html标签。从谷歌搜索到,我唯一能找到的信息是VS在嵌入式MasterPage中找不到根html / head / body标记。不过,我找不到解决方法。

在Visual Studio 2008和2010中都会发生这种情况。

更新(4/10/2011)

目前,我必须将嵌入的母版页复制到实际的站点项目中才能正常工作。我将文件设置为不编译/复制,并且工作正常。

最佳答案

VirtualPathProvider需要运行时环境。在设计期间,此功能不可用,因此无法让IDE通过VirtualPathProvider找到它。

我认为您的更新是最好的解决方法。

08-24 15:50