在新的Visual Studio 2015和Web Essentials插件中,他们已删除了编译某些文件(如Less文件)的功能。相反,他们建议使用Gulp任务。
虽然我赞赏这个决定,并了解如何配置Gulp来编译Less文件,但因为这不是ASP.NET 5应用程序,所以新文件不会自动添加到项目中,因此不会被复制使用VS2015的发布功能。
我认为将这些文件复制的唯一方法是手动将它们添加到项目中。如果你创建一个编译** / *的任务,这似乎是反直觉的。少了你必须查看整个项目来查找生成的css文件并手动添加它们。
我只是做错了什么,或者这只是它现在的工作方式?
答案 0 :(得分:6)
不要手动添加文件,在项目文件中添加目标非常容易。这就是我们这样做的方式,我们也使用gulp-rev软件包动态修改我们的文件名(因此它们不会被浏览器缓存)。以下是我们的.csproj文件中的BeforeBuild目标的样子:
<Target Name="BeforeBuild">
<Exec Command="BeforeBuild.bat" WorkingDirectory="$(ProjectDir)" />
<ItemGroup>
<Content Include="Scripts\Output\**\*.js" />
<Content Include="Content\**\output\**\*.css" />
</ItemGroup>
</Target>
在我们的情况下,当我们从Scripts \ Output \ all_folders \发布所有生成的js文件时,即使它们不在csproj中也会发布(对于生成的css文件也是如此)
答案 1 :(得分:1)
对于那些喜欢编译Less,Sass和CoffeeScript文件的“Web Essentials”方法的人来说,Mads Kristensen发布了一个名为Web Compiler的新VS 2015扩展。试试吧。另请参阅他的Bundler & Minifier扩展,了解从Web Essentials中删除的其他功能。