【发布时间】:2014-03-27 01:42:16
【问题描述】:
我在一个项目中有以下代码我尝试将 "dotless" NuGet package 从“1.2.2.0”升级到最新版本(目前为“1.4.0.0”):
private void GetStylesheetContent(HttpContext context, string name)
{
var conf = BundleConfigSectionHandler.GetConfig();
var elt = conf.Stylesheets.GetBundle(name);
if (elt != null) {
Minifier minifier = null;
if (_conf.Stylesheets.Minify) {
minifier = new Minifier();
}
var files = elt.ListFiles();
var existingFiles = new List<string>();
StringBuilder buffer = new StringBuilder();
foreach (var file in files) {
var physicalFile = context.Request.MapPath(file);
if (File.Exists(physicalFile)) {
existingFiles.Add(physicalFile);
string content;
var path = VirtualPathUtility.GetDirectory(file);
if (file.EndsWith(".less", StringComparison.OrdinalIgnoreCase))
{
var reader = new dotless.Core.Input.VirtualFileReader();
var localpath = VirtualPathUtility.ToAbsolute(file);
content = reader.GetFileContents(localpath);
var parse = new Parser();
parse.Importer = new Importer(reader);
/*Error>*/ parse.Importer.Paths.Add(VirtualPathUtility.ToAbsolute(path));
var eng = new LessEngine(parse);
content = eng.TransformToCss(content, localpath);
错误在倒数第三行。它说:
错误 417“dotless.Core.Importers.IImporter”不包含 'Paths' 的定义并且没有扩展方法 'Paths' 接受 'dotless.Core.Importers.IImporter' 类型的第一个参数可以是 找到(您是否缺少 using 指令或程序集引用?)
很遗憾团队没有留下带有[过时]属性和升级建议的旧方法。 有谁知道如何替换“Importer.Paths.Add”方法?
【问题讨论】:
-
我知道这不是您要寻找的答案,但我们正在远离 dotless,转而只编译较少灰尘的构建(例如,在我们的登台服务器上)。可能在捆绑包上做更多的工作,但是直到/除非 dotless 赶上更少的 js,否则很难证明使用它是合理的。所以这是一个选择。
标签: c# .net asp.net-mvc .net-4.5 dotless