Visual Studio无法创建虚拟目录

时间:2015-08-29 13:17:44

标签: iis web-applications deployment

我被困在这里将我的应用程序部署到本地IIS服务器。

首先,我的系统没有IIS管理器然后我通过向Windows添加功能来实现这一点。

我的IIS管理器是IIS Express 8.0并使用Windows 10与visual studio 2012

现在的问题是:

我创建了一个Web应用程序,并希望将其部署在本地IIS服务器中: 右键单击VS-> Properties-> Web->中的Project和选定的本地iis服务器radioButton

但是结果中的错误是

  

Url ....的网站存在于本地iis网络服务器和   iis表达web服务器。您需要编辑applictionhost.config   用于更改iis express使用的端口号或更改的文件   iis manager中的绑定。

如何将我的应用程序部署到本地IIS服务器?

4 个答案:

答案 0 :(得分:5)

您必须检查您尝试部署的URL在本地IIS中具有绑定。

例如,如果要部署到http://LOCALMACHINENAME/yourapp,则应该在IIS上创建一个具有创建绑定的WebSite

  • 主机名:LOCALMACHINE或*
  • PORT:80(在这种情况下)

最常见的情况是您使用localhost作为服务器名称,因此请检查您是否具有绑定:

  • 主机名:localhost或*
  • PORT:80(在这种情况下)

换句话说,VIsual studio连接到您的IIS,寻找应该存在的绑定。

同时检查您执行VS为管理员

答案 1 :(得分:2)

您需要创建一个网站绑定的80端口。

  1. 打开IIS管理器
  2. 右键点击网站,添加网站
  3. 网站名称:网站 Pyhsical路径:C:\ inetpub \ wwwroot 主机名:留空 IP地址:全部未分配 港口:80
  4. 以管理员身份打开VS
  5. 转到您的项目属性>网络>服务器>本地iis
  6. 现在点击创建虚拟目录。这将是工作:)
  7. 我们首先在iis上创建了主要网站,我们在visual studio上创建了子网站,并将其绑定到主网站。

答案 2 :(得分:0)

您有两个使用相同端口的数据库连接。

  

Url ....的网站存在于本地iis网络服务器和   iis表达web服务器。您需要编辑applictionhost.config   用于更改iis express使用的端口号或更改的文件   iis manager中的绑定。

您需要更改IIS express使用的端口号。 This answer给出了很好的指示。

在解决方案资源管理器上单击鼠标右键。我相信你对此没有任何问题。我认为这比更改代码中的绑定更容易。但这是另一种选择。

答案 3 :(得分:0)

将此文件删除到您的根项目文件夹中(或备份)

            $baseFolder = $_SERVER['DOCUMENT_ROOT'] . '/recolor_icons/';
            $baseName = basename($imageSvgFile, '.svg');

            $suffixSvg = pathinfo($imageSvgFile, PATHINFO_EXTENSION);

            if($suffixSvg !== 'svg' || !file_exists($baseFolder . $baseName)) {
                $image = new Imagick();
                $image->setBackgroundColor(new ImagickPixel('transparent'));

                $image->readImage($imageSvgFile); 

                $image->setImageAlphaChannel(Imagick::ALPHACHANNEL_DEACTIVATE);

                $source = "rgba(227, 6, 19)";
                $fill = "rgba(255, 255, 255)";
                $image->opaquePaintImage($source, $fill, 0, false);

                $image->setImageAlphaChannel(Imagick::ALPHACHANNEL_ACTIVATE);

                $hoverName = $baseName . '_hover.';

                $image->despeckleimage();

                $image->writeImage($baseFolder . $hoverName . $suffixSvg);

                $svg_file = file_get_contents($baseFolder . $hoverName . $suffixSvg);

                $replaceSvg = str_replace('<svg ', '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" ', $svg_file);

                file_put_contents($baseFolder . $hoverName . $suffixSvg, $replaceSvg);  

                return '/recolor_icons/' . $hoverName . $suffixSvg;
            }

在项目文件中清空IISUrl标签(如果有的话)

.vs\config\applicationhost.config 

转到项目属性,然后尝试再次创建您的虚拟URL。