13

I'm running into a problem all of a sudden. I recently re-deployed my .net application on AWS elastic beasnstalk instance and now have an extra segment appended to my web root.

Now my URL structure looks like this:

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

I have not made any changes to either my project or AWS configuration. What could be causing this?

When I logged in to RDP instance, I found one web.config on IIS root with some rules where I found project_name.Web_deply.

I am not using any FTP or AWS console to update my recent code instead I am using AWS explorer for Visual Studio 2010 which internally using git.

I am using windows server 2012 with sql server 2008 on server.

4

2 回答 2

21

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

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

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

或者对于 Release|AnyCPU 构建目标和您自己的虚拟目录:

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

希望这会奏效

于 2013-09-11T04:23:03.353 回答
4

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

在 Visual Studio 2010 中,您可以打开项目属性,选择Package/Publish Web选项卡,然后在该选项卡上找到标有IIS Web Site/application name to use on the destination server的字段。

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

于 2013-09-10T17:27:23.200 回答