我有一个Visual Studio 2010项目,主页面工作正常。
~/Site.Master
在同一个项目中是一个具有另一个目录结构的文件夹,需要使用另一个母版页。
/xr
在此文件夹中,我已包含这些文件的母版页。
/xr/XR.Master
我的Default.aspx
文件尝试使用以下内容访问此母版页:
<%@ Page Title="XR Project" Language="C#" MasterPageFile="~/xr/XR.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test1.Default" %>
在我localhost
的计算机上进行调试工作正常,但每当我部署它并尝试导航到xr
文件夹中的默认页面时,我都会
分析程序错误消息: The file '/xr/xr/XR.Master' does not exist.
然而,源错误会返回第1行,如上所示。
以下是我尝试的内容:
我将XR.Master
页面移动到根文件夹中,并使用以下内容更改了xr
文件夹中的所有文件以引用XR母版页:
我使用localhost
调试并测试了我机器上的代码,并且运行正常。
我将其推送到远程网站并收到新错误:
分析程序错误消息: The file '/xr/~/XR.Master' does not exist.
我做错了什么?
编辑:我不喜欢在页面上发布链接,但我会在短时间内解决此问题:
从那里开始,除了指向XR1200
的链接外,您将看到一切正常。
答案 0 :(得分:3)
这是我能给你的最佳建议,而不必过多了解你的项目结构。 我希望你使用的是VS2010,这样你的机器看起来和我的机器一样。 获取主页面路径的一种简单方法是从masterfile添加测试网页,将为您预设路径,您可以在现有页面中使用该路径。
这是我的博客项目结构。 右键单击要添加测试页的文件夹,然后单击“添加新文件”
使用母版页添加新的网络表单。这仅用于测试。
现在找到您的母版页并选择它。
从这里只需在解决方案结构中找到新添加的内容页面,然后检查代码文件以获取主页的路径。
一旦你确认你的路径是正确的,如果它一旦你发布它仍然会轰炸,那么你有一个问题,你的所有项目都没有正确构建,或者你的文件不是'正确上传,这将最终成为您可能必须自己找到的东西。我仍然建议您在服务器上的pub文件夹中删除任何内容并尝试干净发布。
希望这有帮助!
答案 1 :(得分:1)
我的猜测是iis设置在不同的机器上是不同的。通常,当您将一台计算机设置为网站本身作为网站而另一台计算机将网站本身设置为网站中的应用程序(如默认网站)时,您会看到类似这样的内容。看起来你已经通过在路径中使用〜来解决了这种可能性,但是你正在部署的iis可能没有将站点目录本身设置为网站或应用程序,而只是站点的子目录。在这种情况下,〜将引用网站目录(可能名为xr?),并且该站点位于名为xr的子目录中。如果是这种情况,解决方案可能是设置iis,以便将应用程序目录配置为要部署的服务器上的应用程序。