我正在尝试将material-design-icon bower包加载到我的.net核心Web应用程序的wwwroot文件夹中。只需将material-design-icon文件夹复制到wwwroot的lib目录中,就会导致visual studio 2015挂起。
视觉工作室使用此文件夹结构究竟是什么?它是在某处缓存文件夹结构吗?我有什么措施可以加速视觉工作室使用这个文件夹做什么吗?
答案 0 :(得分:0)
我尝试了一些方法来尝试改善视觉工作室的性能,但最终不得不解决这个限制。尝试了一些与IO相关的项目,例如禁用防病毒软件。我还尝试在visual studio中禁用源代码控制和各种隐藏文件夹解决方法。我最终选择从解决方案中完全删除材料图标文件夹,并在发布过程中将其添加回来。我还必须做一些"树摇动"这样我只发布了实际使用过的图标。我这样做是通过扫描所有cs和cshtml文件的图标用法,然后只复制那些文件。这是脚本,以防它帮助其他人:
function Publish-MaterialIcons{
[cmdletbinding()]
param(
[Parameter(Position=0, Mandatory=$true)]
[string]$path
)
process{
$mdPath = "D:\media\material-design-icons"
$publishPath = $(Join-Path $path "wwwroot\lib\material-design-icons")
if (!(Test-Path $publishPath))
{
robocopy $mdPath $publishPath /e /xf *.* | Out-Null
}
"Adding $publishPath"
$includeFonts = ls -Recurse -Include "*.cs", "*.cshtml" |% {cat $_} |? {$_ -match "([\w_]+)\</i\>"} |% {$matches[1]} | select -Unique |% {"*$_*.png","*$_*.svg"}
$mdPathR = $mdPath -replace "\\", "\\"
$publishPathR = $publishPath -replace "\\", "\\"
$(ls $mdPath -Recurse -include $includeFonts) + $(ls $mdPath -Recurse -Exclude "*.png", "*.svg") |% {
$newPath = join-path $($(Split-Path $_.FullName) -replace $mdPathR, $publishPathR) $_.Name
cp $_.FullName $newPath -Force
}
}
}