node_modules 在 Visual Studio 中中断构建
node_modules breaks build in Visual Studio
正在努力将 Angular (v4) 添加到现有的 ASP.NET MVC 4 应用程序。它拥有的项目之一包括 Selenium Web 驱动程序,其中包含一个 web.config 文件。
node_modules\selenium-webdriver\lib\test\data\web.config
此文件夹未包含在项目中,但在我的 Web 应用程序文件夹中
myapplication\node_modules
myapplication\Controllers
myapplication\Views
myapplication\web.config
etc...
selenium-webdriver 文件夹中的 web.config 导致构建中断并出现以下错误:
使用注册为
的部分是错误的
allowDefinition='MachineToApplication' beyond application level. This
error can be caused by a virtual directory not being configured as an
application in IIS.
非常常见的错误,如果是您自己的错误,则很容易修复,但由于这是我正在使用的库,所以我无法控制该文件。所以根据我的研究,我的问题有点水平:
- 我可以把 selenium-webdriver 的 "test" 文件夹放到别的地方吗?
- 我的 node_modules 文件夹不应该在我的 Web 应用程序的根目录下吗?
- 一般来说..我该如何解决这个问题?
它更像是一种解决方法,但我将您的 node_modules 文件夹设为 隐藏 它不会显示在您的解决方案资源管理器中 Visual Studio将 运行 您的项目照常进行。据我所知,这不会影响 运行 网络应用程序。
安装 rimraf
包
npm install rimraf
然后在package.json
中使用rimraf
命令
'script': {
'postinstall': 'rimraf node_modules/**/web.config'
}
请注意,第一次您必须手动删除它,因为软件包已经安装并且 postinstall
命令不会 运行。
但是对于您以后的所有安装 + 为您的队友,它会在每 npm install
之后作为 postinstall
命令 运行 自动处理
请阅读更多关于 npm pre & post hooks
正在努力将 Angular (v4) 添加到现有的 ASP.NET MVC 4 应用程序。它拥有的项目之一包括 Selenium Web 驱动程序,其中包含一个 web.config 文件。
node_modules\selenium-webdriver\lib\test\data\web.config
此文件夹未包含在项目中,但在我的 Web 应用程序文件夹中
myapplication\node_modules
myapplication\Controllers
myapplication\Views
myapplication\web.config
etc...
selenium-webdriver 文件夹中的 web.config 导致构建中断并出现以下错误:
使用注册为
的部分是错误的allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
非常常见的错误,如果是您自己的错误,则很容易修复,但由于这是我正在使用的库,所以我无法控制该文件。所以根据我的研究,我的问题有点水平:
- 我可以把 selenium-webdriver 的 "test" 文件夹放到别的地方吗?
- 我的 node_modules 文件夹不应该在我的 Web 应用程序的根目录下吗?
- 一般来说..我该如何解决这个问题?
它更像是一种解决方法,但我将您的 node_modules 文件夹设为 隐藏 它不会显示在您的解决方案资源管理器中 Visual Studio将 运行 您的项目照常进行。据我所知,这不会影响 运行 网络应用程序。
安装 rimraf
包
npm install rimraf
然后在package.json
中使用rimraf
命令
'script': {
'postinstall': 'rimraf node_modules/**/web.config'
}
请注意,第一次您必须手动删除它,因为软件包已经安装并且 postinstall
命令不会 运行。
但是对于您以后的所有安装 + 为您的队友,它会在每 npm install
postinstall
命令 运行 自动处理
请阅读更多关于 npm pre & post hooks