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

2024-02-17

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

这在很多层面上都是有问题的:

  1. 混合二进制输出目录和源代码树从来都不明智
  2. 如果 Web 应用程序深埋在其他源的目录层次结构中,其中许多项目生成可用作 Web 应用程序中的支持库的库,则所有其他支持项目必须将其二进制输出目录设置为 bin 目录源树中某个不明显、无意义的位置。
  3. 这种“典型”VS 设置不会让您的 Web 应用程序设置重复您从发布中获得的“生产”设置:源树中可能有文件(例如,从存储库提取的旧 .js 文件)您的项目中未引用这些内容,因此不会出现在生产发布的包中,但存在于您的调试设置中。

将 Visual Studio 解决方案中的所有项目配置为构建到干净地放置在源代码树外部的某个子目录中的 bin 目录是非常可能且非常容易的。确保 Web 应用程序构建将所有内容干净地放置在此目录中也很容易。配置 IIS 虚拟目录以指向此构建输出目录也很容易。然后,Visual Studio 未经通知、未经请求,通过任意更改精心配置的虚拟 IIS 应用程序的物理目录,使其指向源代码树的中间,从而搞砸了这一点。

如何才能阻止这种疯狂的行为呢? IE。如何防止 Visual Studio 在每次打开 Web 应用程序项目时自动重新设置虚拟 Web 目录的物理路径?

这个问题在 Stack Overflow 上已经被问过很多次了,但我没有看到真正的答案:

对这个问题的回答(IIS8.5自动更改物理路径属性 https://stackoverflow.com/questions/27544123/iis8-5-is-automatically-changing-physical-path-property) 只是指示如何控制 Visual Studio 进行重新指向的顺序。

这个问题和回答(打开解决方案时 Visual Studio 创建 IIS 虚拟目录 https://stackoverflow.com/questions/3093433/visual-studio-creating-iis-virtual-directories-when-solution-opened)只需确认该行为即可。

对这个问题的回答(打开项目会更改 iis 设置 https://stackoverflow.com/questions/21046198/opening-projects-changes-iis-settings)是完全错误的,一些评论也是如此。

这些问题 (Visual Studio 2012 无需询问即可更改 IIS 应用程序目录 https://stackoverflow.com/questions/15646726/visual-studio-2012-changes-iis-application-directory-without-asking), (Visual Studio 更改本地 IIS 配置 https://stackoverflow.com/questions/39763835/visual-studio-changes-local-iis-configuration)没有任何反应。

基本上没有人说做不到,但也没有人给出像样的解决方案。


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

我对我的项目的项目设置(Web 选项卡)进行了以下更改。在服务器部分,我将下拉列表设置为“外部主机”,然后输入项目 URL 作为https://localhost/web https://localhost/web。我现在可以在 VS 中打开解决方案,而无需更新 IIS 中的路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止 Visual Studio 自动更改 IIS 虚拟目录的物理路径? 的相关文章

随机推荐

  • 如何在 ngTagsInput 中设置标签的颜色?

    我想在我的项目中使用 ng tags input 我尝试根据数组中的颜色属性对象为每个标签设置不同的颜色 Here is plunker http plnkr co edit W5bjrwN5riL94i2jhOP3 p preview我正
  • 反转字符串中元素的顺序

    我有以下字符串 1119 2 483 11021 我想反转该字符串中元素的顺序 期望的输出 11021 483 2 1119 T SQL 版本 2014 您需要一个有序的 split 函数 例如 灵感 https www sqlserver
  • 线程如何节省时间?

    我正在学习 C 中的线程 但是 我无法理解线程的哪些方面实际上提高了性能 考虑仅存在一个核心处理器的场景 将任务拆分为多个线程使用相同的进程上下文 共享资源 并且它们同时运行 由于线程只是共享时间 为什么它们的运行时间 周转时间 小于单线程
  • Html5画布文本交叉点

    我有一些话 所有话都在某个 物体 之王中 这些单词可以在画布上移动 我需要获取所有交叉点的数组 如本例所示 但不需要将文本转换为 SVG paperjs org examples path intersections 谢谢 您可以通过比较两
  • 如何在python源代码中找到运算符的定义?

    我对 in 的实现感到好奇 contains python 中的运算符由于这个问题 https stackoverflow com questions 9089400 python set in operator uses equality
  • 如果页面加载失败,如何运行 Tampermonkey 脚本?

    我有一个在服务器页面上运行的脚本 有时发送不会将任何内容发送回客户端 我得到未收到数据Chrome 中的错误 我想注册此事件 通过 AJAX 通知另一台服务器 然后重新加载页面 即使页面加载失败 如何确保脚本运行 None
  • 如何在Angular中的地图上动态绘制多边形形状

    如何动态绘制多边形形状 未预定义paths 以及如何存储多边形的经纬度值 我已经参考了AGMP多边形 https angular maps com api docs agm core directives AgmPolygon html但这
  • 如何检查从 C++ 字符串到无符号整数的转换

    我需要 1 找出我当前系统上最大的 unsigned int 值是多少 我在 limit h 上没有找到它 写起来安全吗unsigned int maxUnsInt 0 1 我也尝试过unsigned int maxUnsInt MAX I
  • 捕获目录内发生的事件

    我正在使用以下方式观看目录Java 7 nio WatchService通过使用以下方法 Path myDir Paths get rootDir try WatchService watcher myDir getFileSystem n
  • 访问 Access 2013 数据库的架构

    如果我尝试读取 Access 2013 数据库的架构 我会收到以下错误 no read permission on MSysRelationships 现在帮助告诉我 User level security features are not
  • 如何将类添加到 simple_form 2 包装器中的输入组件

    我正在努力拥有class text 在我的输入字段中使用名为 hinted in simple form 2 0 0 rc 的自定义包装器时 config wrappers hinted do b b use input class gt
  • 为什么这个 TensorFlow 实现远不如 Matlab 的神经网络成功?

    作为一个玩具示例 我正在尝试拟合一个函数f x 1 x来自 100 个无噪声数据点 matlab 默认实现非常成功 均方差约为 10 10 并且插值完美 我实现了一个神经网络 其中一个隐藏层包含 10 个 S 型神经元 我是神经网络的初学者
  • NodeJS 中是否可以实现多线程?

    所以我有一个应用程序Socket IO其目的是在不同站点上搜索一些数据 像爬虫之类的东西 主要问题是搜索过程太长 当它发生时我的应用程序卡住了 例如 如果一个用户开始第二次搜索需要等到第一次完成 每个需要搜索的网站都表示为一个单独的类 因此
  • 使用 sed 将带有斜杠的已定义变量的文本替换为空格[重复]

    这个问题在这里已经有答案了 我正在尝试使用 sed 来用已定义的变量替换带有空格的行 例如 我想用 lan 和 lan afile py 替换 哑字符串 我以为这条线是 sed s a dumb string lan g file txt
  • 当程序员使用术语“暴力解决问题的方法”时,他们的意思是什么?

    我想了解程序员在工作中使用术语 暴力 时通常意味着什么 许多编程问题都是对数据空间的搜索 例如列表 树 图等的遍历 在解决问题时 所有数据都被搜索或遍历 如果人们想让代码更快 他们就会开始注意到可用于删除搜索空间中不必要部分的模式 当代码搜
  • 业力打字稿找不到模块

    我有一个非常小的项目 我正在尝试为其设置单元测试 该项目使用时编译良好tsc直接地但是 在尝试执行使用 karma typescript 框架的测试时 我收到以下 Typescript 编译错误 ERRORS 错误 compiler kar
  • 将 XML 扁平化为 HTML 表格

    必须有一种通用方法来转换某些分层 XML 例如
  • PHPUnit 测试函数,具有通过引用传递的值和返回值

    大家好 我需要测试一段调用另一个类的函数的代码 我现在无法编辑 我只需要测试它 但问题是这个函数有一个通过引用传递的值和一个返回的值 所以我不知道如何模拟它 这是列类的功能 public function functionWithValue
  • 将 strstream 转换为 sstream 关​​于 c_str() 的冲突

    我有这样的代码块strstream 我把它转换为sstream如下 我不确定 但我认为printStream gt str 返回一个字符串对象 其中包含由指向的流缓冲区中的内容的副本 临时 printStream 然后你调用c str 并得
  • 阻止 Visual Studio 自动更改 IIS 虚拟目录的物理路径?

    我有一个 Visual Studio 解决方案 其中包含一个 Web 应用程序项目 以及其他一些项目 Visual Studio 典型 设置似乎坚持认为二进制文件的输出目录位于项目源目录的根目录中 特别是 每次打开Web应用程序项目时 Vi