【问题标题】:VisualStudio 2012 with ReSharper go slowly after save file in App_Code在 App_Code 中保存文件后,带有 ReSharper 的 Visual Studio 2012 运行缓慢
【发布时间】:2013-09-19 08:19:48
【问题描述】:

环境

我将 Visual Studio 2012 与 ReSharper 7 结合使用。
开发网站时出现此问题。
我不在本地 IIS 中开发网站,而是在本地网络中:它们在本地服务器中,我在共享文件夹中打开它们,例如 \\my-server\InetWeb\Domains\acme.com\www_v1

我的问题

当我使用 .cshtml 文件时,我没有问题。
但是,当我在 App_Code 文件夹中保存 .cs 文件并转到 App_Code 文件夹中的另一个 .cs 文件时,Visual Studio UI 不起作用,冻结了 12 秒!!
当我在 App_Code 中创建新文件时,或者当我重命名类,移动文件,从/到这个文件夹时,同样的问题。

如果我暂停 ReSharper,Visual Studio 的运行速度总是更快。

我该如何解决?

昨天我测试了 ReSharper 8:我遇到了同样的问题。

【问题讨论】:

    标签: performance visual-studio web resharper localserver


    【解决方案1】:

    问题只是 R# 更新其数据库的速度相当慢。数据库通常使用以下名称:SolutionName\_ReSharper.SolutionName

    解决方案可以简单地是to use another folder to set the R# cache

    【讨论】:

    • 我尝试更改缓存文件夹,但更改并没有带来改进。我还尝试将网站复制到 本地文件夹:此更改将时间从 12-14 秒减少到 4-5 秒
    • 转到任务管理器(Control+Shift+Escape)> 性能选项卡> 资源监视器并转到磁盘、网络和 CPU。您能说出其中哪些对您的配置使用量很大吗?
    • 然后你可以尝试去:Resharper => Options => Code Inspection =>Settings => Edit Items to Skip and remove for now cshtml files so may they will remove freezeup.我试图通过网络共享做一个项目,它工作有点慢,但对我来说已经足够快了。我偶尔会休息 1-2 秒,但在将缓存移动到 temp 后,我会得到 0.2-0.5 秒(如微型快门),但仍然可以写入。我查看了任务管理器,它每次通过网络传输大约 1.5 MB。所以加快网络共享可能会解决问题。
    • 哇...我还没想看高清活动...然后:1)保存文件,时间0.00; 2)查看高清活动:启动MsMpEng.exe、devenv.exe、aspnet_compiler.exe、Microsoft.VisualStudio.Web.Host.exe; 3)时间0.15,UI工作; 4) 时间 0.45,任何最新的 HD 活动结束。
    • 我尝试设置Edit items to Skip:网站的根文件夹。没什么... 14-15 秒。
    【解决方案2】:

    我解决了这个问题。 冻结时间降至 2 秒或更短

    之前我通过本地服务器中的共享文件夹打开项目。

    我测试通过 FTP 访问打开项目:我看起来冻结时间已经完成,但我有新的性能问题。

    我使用 WebDAV 协议解决了这个问题:

    • 在 IIS 服务器的“默认网站”中添加 WebDAV 应用程序。此应用程序允许我访问我的网站的根文件夹。
    • 在服务器中,打开“C:\Windows\System32\inetsrv\config\applicationHost.config”,添加allowSubDirConfig="false"属性:

    
    
    
    <configuration>
     <system.applicationHost>
      <sites>
       <site name="Default Web Site">
        <application path="/WebDAV">
         <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\WebDAV" logonMethod="Network" />
         <virtualDirectory path="/WWW" physicalPath="C:\MyProjects" logonMethod="Network" allowSubDirConfig="false" />
        </application>
       </site>
      </sites>
     </system.applicationHost>
    </configuration>
    

    • 在同一个文件中,将applyToWebDAV属性设置为“false”:

    
    
    
    <configuration>
     <system.webServer>
      <security>
       <requestFiltering>
        <fileExtensions ... applyToWebDAV="false">
         ...
        </fileExtensions>
       </requestFiltering>
      </security>
     </system.webServer>
    </configuration>
    

    • 在本地 PC 中添加到 WebDAV 文件夹的连接。
    • 在 VisualStudio 中通过 WebDAV 文件夹打开现有网站。

    注意
    这个解决方案并不完美:

    • 我无法运行托管网站的调试
    • 我无法编辑web.config 文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多