3

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

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

当我将 MasterPageFile 属性设置为“~/EmbeddedMasterPage.Master”时,Visual Studio 会在其下方显示一个红色波浪线错误,显示“找不到路径”,并显示一个目录表明它正在尝试在网站项目中查找该文件(而不是类库项目)。由于 Visual Studio 无法确定 MasterPage 在哪里,它会导致所有智能感知中断。它不会显示任何标签。事实上,它能给我的唯一智能是基本的 html 标签。通过谷歌搜索,我能找到的唯一信息是 VS 在嵌入式 MasterPage 中找不到根 html/head/body 标记。不过,我找不到修复它的方法。

这发生在 Visual Studio 2008 和 2010 中。

更新(2011 年 4 月 10 日)

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

4

1 回答 1

0

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

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

于 2011-04-15T11:27:18.073 回答