.net GNU/Linux上dotnet捆绑后css中的错误路径
正在尝试将web项目从Windows上的dotnet移植到GNU/Linux上的dotnet。C代码工作得很好,但是我在缩小.net GNU/Linux上dotnet捆绑后css中的错误路径,.net,bundle,dotnet-linux,dotnet-bundle,.net,Bundle,Dotnet Linux,Dotnet Bundle,正在尝试将web项目从Windows上的dotnet移植到GNU/Linux上的dotnet。C代码工作得很好,但是我在缩小dotnet bundle方面遇到了问题。在缩小的输出css中,例如图像的路径被替换为css文件本身的路径 我已经把它简化为一个小测试用例,在这里问题可以重现 使用以下文件创建一个空目录(查看out.min.css,并将完整的文件系统路径与背景url与in.css进行比较): project.json bundleconfig.json in.css 然后运行dotnet
dotnet bundle
方面遇到了问题。在缩小的输出css中,例如图像的路径被替换为css文件本身的路径
我已经把它简化为一个小测试用例,在这里问题可以重现
使用以下文件创建一个空目录(查看out.min.css
,并将完整的文件系统路径与背景url与in.css
进行比较):
project.json
bundleconfig.json
in.css
然后运行dotnet bundle
生成以下文件:
out.min.css
background:url()
应该指的是bg.png
,但它指的是css文件本身。使用相同版本的dotnet在Windows上执行相同的操作,输出是正确的。以前有没有人见过这种行为,更好的是,可以提出修复或解决方法的建议
一些可能感兴趣的系统信息
这应该由我来解决。因此,将bundleMinizer.Core更新为版本
2.4.337
(仍然支持netcoreapp1.0)应该可以解决您的问题
顺便问一下,您是否仍在使用.NET SDK 1.0的preview2?与此同时,最终版本的发布。如果你不想升级到1.1或2.0,我至少会安装。唯一必要的额外步骤是使用
dotnet migrate
尝试将/
添加到路径中,如/foo.png
在基于UNIX的系统中,
表示当前目录。我只是在部署代码。除了.NETSDK1.0之外,它几乎无法在任何情况下运行。但是感谢您提供指向BundleMinifire.Core的指针。我还没有尝试过你建议的更新,但听起来它会解决这个问题。
{
"tools": {
"BundlerMinifier.Core": "2.0.238",
},
"frameworks": {
"netcoreapp1.0": {
}
},
}
[
{
"outputFilename": "out.min.css",
"inputFiles": [
"in.css",
]
},
]
body {
background: url(bg.png);
}
body{background:url('/home/jsvh4h/dotnet/out.min.css')}
bash-4.2$ dotnet --version
1.0.0-preview2-003131
bash-4.2$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.3.1611 (Core)
Release: 7.3.1611
Codename: Core