额外文件夹附加到AWS上的Web根目录

时间:2013-09-10 12:57:07

标签: asp.net visual-studio-2012 amazon-web-services elastic-beanstalk iis-8

我突然遇到了问题。我最近在AWS弹性beasnstalk实例上重新部署了我的.net应用程序,现在我的Web根目录附加了一个额外的段。

现在我的网址结构如下所示:

http://domain.com/Project Name.Web_deploy / default.aspx

我没有对我的项目或AWS配置进行任何更改。可能导致这种情况的原因是什么?

当我登录到RDP实例时,我在IIS根目录上找到了一个web.config,其中包含一些规则,其中我找到了project_name.Web_deply。

我没有使用任何FTP或AWS控制台来更新我最近的代码,而是使用AWS explorer for Visual Studio 2010,内部使用git。

我在服务器上使用带有sql server 2008的Windows Server 2012。

2 个答案:

答案 0 :(得分:21)

似乎在Visual Studio 2012和2010的最新更新中,VS从项目属性页(要在目标服务器上使用的IIS网站/应用程序名称)中删除了这些配置选项。 相反,您可以通过编辑.csproj文件直接指定网站/应用程序名称。 您可以将其添加到适当的元素。

如果您希望它应用于所有配置和平台并在根部署,您可以将其包含在元素中,即

<PropertyGroup>
        .....
        <DeployIisAppPath>Default Web Site/</DeployIisAppPath>
</PropertyGroup>

或者发布| AnyCPU构建目标和您自己的虚拟目录:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        <DeployIisAppPath>Default Web Site/MyVirtualDirectory</DeployIisAppPath>
</PropertyGroup>

希望这会起作用

答案 1 :(得分:4)

当应用程序部署到虚拟目录时,Elastic Beanstalk实例上工具将在根级别创建web.config,它使用URL重写规则将根目录的请求重定向到虚拟目录。

在Visual Studio 2010中,您可以打开项目属性,选择打包/发布Web 选项卡,然后在该选项卡上找到标记为要使用的IIS网站/应用程序名称的字段目标服务器

默认情况下,该值将是Default Web Site/MyApplication_deploy之类的虚拟目录。如果要将应用程序部署到根目录,请将其更改为Default Web Site/并重新部署。