Visual Studio 2015挂起导入大型文件夹结构

时间:2017-01-27 23:39:36

标签: visual-studio-2015 bower

我正在尝试将material-design-icon bower包加载到我的.net核心Web应用程序的wwwroot文件夹中。只需将material-design-icon文件夹复制到wwwroot的lib目录中,就会导致visual studio 2015挂起。

视觉工作室使用此文件夹结构究竟是什么?它是在某处缓存文件夹结构吗?我有什么措施可以加速视觉工作室使用这个文件夹做什么吗?

1 个答案:

答案 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
    }
}
}