Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 阻止Visual Studio自动更改IIS虚拟目录的物理路径?_Visual Studio_Iis 7.5 - Fatal编程技术网

Visual studio 阻止Visual Studio自动更改IIS虚拟目录的物理路径?

Visual studio 阻止Visual Studio自动更改IIS虚拟目录的物理路径?,visual-studio,iis-7.5,Visual Studio,Iis 7.5,我有一个VisualStudio“解决方案”,其中包含一个Web应用程序项目(以及一些其他项目)。VisualStudio的“典型”设置似乎坚持二进制文件的输出目录位于项目源目录的根目录中。特别是,每次打开web应用程序项目时,Visual Studio都会重置IIS虚拟目录的物理路径以指向项目目录 这在许多层面上都存在问题: 混合使用二进制输出目录和源代码树是不明智的 如果web应用程序深埋在其他源的目录层次结构中,其中许多项目生成的库可以用作web应用程序中的支持库,那么所有其他支持项目都必

我有一个VisualStudio“解决方案”,其中包含一个Web应用程序项目(以及一些其他项目)。VisualStudio的“典型”设置似乎坚持二进制文件的输出目录位于项目源目录的根目录中。特别是,每次打开web应用程序项目时,Visual Studio都会重置IIS虚拟目录的物理路径以指向项目目录

这在许多层面上都存在问题:

  • 混合使用二进制输出目录和源代码树是不明智的
  • 如果web应用程序深埋在其他源的目录层次结构中,其中许多项目生成的库可以用作web应用程序中的支持库,那么所有其他支持项目都必须将其二进制输出目录设置为bin目录a(不明显),源代码树中某个无意义的位置
  • 此“典型”VS设置不会使您的web应用程序设置与您从发布中获得的“生产”设置重复:您的源目录树中可能有一些文件(例如,从存储库提取中获得的旧.js文件)未在您的项目中引用,因此不会在发布的生产包中引用,但是,在调试设置中没有
  • 将VisualStudio解决方案中的所有项目配置为构建到干净地放置在源目录树之外的某个子目录中的bin目录是非常可能而且非常容易的。确保web应用程序构建将所有内容干净地放置在此目录中也很容易。配置IIS虚拟目录以指向此生成输出目录也很容易。然后,VisualStudio,未经通知和邀请,通过任意更改精心配置的虚拟IIS应用程序的物理目录,指向源代码树的中间,将这一点搞砸了

    如何才能阻止这种疯狂的行为?例如,如何防止Visual Studio在每次打开web app项目时自动重新设置虚拟web目录的物理路径?

    关于堆栈溢出,这个问题已经被问了很多次,但我没有看到真正的答案:

    对这个问题()的回答只是指示如何控制VisualStudio执行其重新启动的顺序

    这个问题和回答()只是证实了这种行为

    对这个问题()的回答是错误的,一些评论也是错误的

    这些问题(),()没有回答


    基本上,没有人说这是不可能的,但也没有人给出一个像样的解决方案。

    我在IIS中的应用程序指向%SystemDrive%\inetpub\wwwroot\web,并希望它保持这种状态。与其他人一样,我发现每次在Visual Studio中打开解决方案(我使用的是2017),它都会更改IIS中应用程序的路径,以指向Visual Studio使用的路径


    我对我的项目的项目设置(web选项卡)进行了以下更改。在servers部分,我将下拉列表设置为“External Host”,然后输入项目URL作为。我现在可以在VS中打开解决方案,而无需更新IIS中的路径。

    但是您仍然可以调试、设置断点、单步执行代码等吗?