我正在使用Web编译器,但它不会编译我的SASS结构,除非我右键单击“compilerconfig.json”并选择“Web编译器”--〉“重新编译所有文件”。
当我使用其他方法来触发编译时...
- 保存SCSS文件时(最重要)
- 当我转到菜单“构建”--〉“重新编译解决方案中的所有文件”时
- 当我使用短命令Shift + Alt + Y时
它会告诉我“编译成功”或“完成编译”,但文件没有更新。
我使用的是Visual Studio 2015 v.3和Web编译器,已于2016年8月2日更新,版本为1.11.319。
7条答案
按热度按时间8ulbf1ek1#
在一个论坛中找到了答案。我只需要删除一些临时文件并重新启动Visual Studio:
论坛帖子:https://github.com/madskristensen/WebCompiler/issues/158
希望这对某人有帮助!
hpxqektj2#
遗憾的是,这里提供的解决方案并不奏效。看来我并不是唯一一个这样做的人。
以防它对其他人有帮助,我找到了另一个变通办法,这似乎提供了一个额外的副作用。
如果您将Razor视图添加到您的项目(我将其命名为
JsHelper.cshtml
并将其添加到\Views\Shared
中),并使用以下内容(添加额外的换行符以使其适合SO宽度)......则不需要像这样添加脚本标记...
...您可以添加此...
在Visual Studio中运行网站时,将使用Javascript文件得未编译版本.在其他位置(例如在生产服务器上)运行时,将使用
.es5.min.js
版本.由于发布Web项目涉及到生成Web项目(这将编译.js文件),因此您可以确信发布的已编译和缩小的文件是最新的。
这有一个附带的好处,当在浏览器中调试脚本时,您可以访问
.js
文件的完整版本,而不是直接引用它们时所得到的编译和缩小版本。由于最新版本的Web编译器中发生的另一个重大变化是,它们在编译时不再生成.map.js
文件,这是一个巨大的附带好处。希望这对你有帮助。
bz4sfanl3#
在解决这个问题的过程中,我发现这个扩展有时会被“自动”禁用。我确信这不是我做过的事情,但是Visual Studio中可能有一个机制会定期禁用扩展。这是另一件需要检查的事情。
qgelzfjb4#
在更新到VS 2017 Version 15.9.5之后,用保存进行编译对我来说不起作用。我可以右键单击scss文件并编译,但嵌套的css仍然没有编译。看起来好像更新Visual Studio是个问题。
或者,您可以卸载Web编译器并使用compilesass,
您可以从here下载
tvz2xvvm5#
如果您最近安装了新的Visual Studio,请确保重新安装WebCompiler扩展。扩展〉管理扩展
w6mmgewl6#
这适用于VS2022,我不知道其他版本,但它也可以相关。
我有一个项目,当从项目或单个文件中单击“重新编译文件”时,css生成工作正常,但在构建或保存. scss时不会自动运行。
要使其正常工作,项目必须引用以下nuget包:
当然,确切的版本可能取决于您阅读此消息时可用的内容。
您也可以通过右键单击.scss文件,单击“Web编译器”菜单,然后单击“在构建时启用编译”来自动添加它,它将添加缺少的引用。
zlwx9yxi7#
我只是卸载了扩展和包,删除了所有项目文件(.config和.scss)完全关闭VS 2022的所有示例。重新安装所有内容,确保VS在步骤之间完全加载/卸载,重新添加文件,并且在保存时编译不再工作。但是,在保存css文件更新后,我立即得到了一个BSOD。我意识到我已经得到了一对夫妇,因为安装这个扩展几天前。
FYI...我以前尝试过重新安装,但没有成功。这次我确保在重新安装之前卸载了VS的所有内容。在重新安装扩展之后,在做任何其他事情之前,我注意到右键单击compilerconfig.json〉Web Compiler会出现一个上下文菜单选项,上面写着从编译过程中删除什么的。这不是典型的“在构建时启用编译..."。现在该菜单选项已消失。