配置多个Web站点以在一个Web角色下运行

时间:2011-01-23 01:10:01

标签: asp.net asp.net-mvc-2 azure

我正在尝试配置我的解决方案,使用1.3 SDK将多个网站发布到Azure,我希望它们在一个Web角色下运行。我已根据CHM文件将条目添加到Sites元素,当我部署到Azure时,Instance启动。现在出现症状:

  1. 浏览“主要”(添加到解决方案的第一个网站)一切正常。
  2. 浏览到“辅助”网站会引发以下错误:
  3. 异常类型:ConfigurationErrorsException     异常消息:无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。该系统找不到指定的文件。 (E:\ approot_WASR_ \ 1 \ web.config第28行)

    到目前为止我没有尝试过什么(叹气):  1.我注意到默认情况下VStudio(2010 Ultimate)不包含cspkg文件中的“Secondary”项目输出。设置项目依赖性似乎已经解决了这个问题(或者至少我现在在构建过程中在输出窗口中看到它)。  2.我在“辅助”项目中为System.Web.Mvc设置了“Copy Local = true”,但仍然没有。  3.我有一个“辅助”项目的CName设置,并在Binding元素上使用hostHeader参数,所以我没有找到一种测试本地的好方法,所以我的诊断信息有限。

    有人认为我的两个项目现在都包含一个WebRole.cs文件,在这种配置中应该是这种情况吗?因为这两个处理启动事件都可能是问题吗?

    我不确定在这种情况下提供什么可能会有所帮助,所以如果有人可以请我指点一下,我们很乐意填补空白。我做错了吗?

    提前致谢!

1 个答案:

答案 0 :(得分:2)

您需要确保的第二个网站是在打包之前构建的。听起来好像设置项目依赖关系可能会解决这个问题。

您可以通过在主机文件中添加条目进行本地测试(编辑%windir%\ system32 \ drivers \ etc \ hosts作为管理员,并在底部添加“127.0.0.1 www.mysite.com”)。这可能有助于您深入了解它。

在本地运行之后,您应该能够找到.csx目录并检查其中的内容...确保第二个站点(在“_wasr_ \ 1”下,我相信)看起来像您期望的那样。 / p>

哦,第二个webrole.cs可能不是问题。 (应该安全地忽略它。)