【问题标题】:Visual Studio 2010 "cannot find" C:\Users\[USERNAME]\AppData\Local\Temp\1\.NETFramework,Version=v4.0.AssemblyAttributes.vb after every reboot每次重新启动后,Visual Studio 2010“找不到” C:\Users\[USERNAME]\AppData\Local\Temp\1\.NETFramework,Version=v4.0.AssemblyAttributes.vb
【发布时间】:2011-06-11 19:32:11
【问题描述】:

我最近将一些 Visual Studio 2010 项目添加到解决方案中,现在每次我重新打开程序时,它们都会停止编译。他们抱怨“无法打开模块文件 C:\Users[USERNAME]\AppData\Local\Temp\1.NETFramework,Version=v4.0.AssemblyAttributes.vb。系统找不到指定的文件。”我已经检查过,该文件存在并且可以从 VS 编辑器本身访问!

我发现的有关此错误的所有信息都建议使用重建来解决此问题。这对我有用,但我宁愿在第一次打开我的每一个解决方案时都不必运行重建!有没有办法避免这个错误?

【问题讨论】:

  • \1\ 看起来像远程桌面会话 ID。当您注销时,会话将被删除。
  • 它是 IDE 生成的一个小帮助文件,用于帮助 IntelliSense 解析器确定选择了哪个目标框架。这是一个环境问题,很难猜出你的机器出了什么问题。重新启动时,您最好检查一下所有自动启动的内容。使用 SysInternals 的 AutoRuns
  • @vcsjones,我正在通过 RDC 访问开发框,所以您可能有问题。有没有办法避免在远程环境中创建/需要这个文件?还是在登录时自动重新创建?
  • 我明白了,但我不使用 RDC(我的路径停在 \Temp),还有其他关于导致它的建议吗?
  • @BlackICE:出现问题是因为 Visual Studio 在您构建时生成它,并且 Visual Studio 假定如果您的解决方案存在 .suo 文件,那么该文件也必须存在。清理 TEMP 文件夹的任何内容都可能删除该文件,并导致问题。 RDC 使这一点更加明显,因为它碰巧在登录时创建/删除了一个 TEMP 目录。

标签: visual-studio-2010


【解决方案1】:

是的,这是由远程桌面连接引起的问题。 RDC(默认情况下)设置为在您每次远程登录时使用创建一个新目录。此外,它是设置(单独设置)在您注销后删除该目录。真正的解决方案是删除这两个设置,以便它只使用您的标准 Temp 文件夹,而不是在注销时删除文件。

这个问题也有两种解决方法:

  1. 解决方法 1:在打开解决方案或重建之前删除解决方案的 .suo 文件。
  2. 解决方法 2:使用“全部重建”选项进行修复

注意:只有在您以管理员身份登录机器时才能真正设置 RDC,因此有两种解决方法。

【讨论】:

  • 这些设置在哪里?
  • @just.another.programmer Configure Temporary Folders for an RD Session Host Server。 (以防链接失效)它们在控制面板中:管理工具 > 远程桌面服务 > 远程桌面会话主机配置
  • 不一定是 RDP 引起的,但这是最常见的,可以通过路径中的 \1\ 识别。就我而言,我的 Temp 目录上周被 Windows 10 更新以构建 15063 清空。如果您在“临时文件”处打勾,磁盘清理也可以做到这一点。而且我想我不需要告诉您避开某些网站向您发送垃圾邮件的系统清理程序和优化程序。
  • .suo 文件将保存在您的解决方案 (.sln) 文件所在的文件夹中。您可能希望在“文件夹选项”中将“显示隐藏的文件和文件夹”设置为 true,因为 .suo 文件默认是隐藏的。 C:\~\Solution.sln\.vs\SolutionName\v14
  • 我正在使用 VS2017:删除 .vs 文件夹为我做了。可能只删除该树中的 .suo 文件会更精确。
【解决方案2】:

我重新启动了 Visual Studio,结果成功了……

【讨论】:

    【解决方案3】:

    在我的情况下,VS 无法访问用户的 TEMP 文件夹。在更改权限以允许所有用户(我的计算机有一个用户 - 我)完全控制此文件夹后,一切都已修复。

    希望这会有所帮助。

    【讨论】:

    • 这是我遇到的问题,C# 解决方案不是 VB,而是相同的处理。
    【解决方案4】:

    这是 Visual Studio 2010 中的一个错误。清理和构建对我有用。

    【讨论】:

    • 不只是与 2010 年相比。2015 年同样的问题
    【解决方案5】:

    我删除了 AssemblyAttributes.vb 文件,它神奇地被重新创建了。我就是这样解决的。

    【讨论】:

    • 这对我有用。不知道如何,但删除后,我已经清理并重建并且工作正常。
    【解决方案6】:

    只需重新启动您的 Visual Basic 或 Visual Studio 平台,它就会“修复”。对我来说,每次我遇到同样的问题时它都会起作用。 谢谢!

    【讨论】:

      【解决方案7】:

      另一种选择是在所需位置创建所需文件。那将是:

      “C:\Users\user\appdata\local\temp\1.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs”,内容如下:

      // <autogenerated />
      using System;
      using System.Reflection;
      [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0,Profile=Client", FrameworkDisplayName = ".NET Framework 4 Client Profile")]
      

      “C:\Users\user\appdata\local\temp\1.NETFramework,Version=v4.0.AssemblyAttributes.cs”,内容如下:

      // <autogenerated />
      using System;
      using System.Reflection;
      [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
      

      “C:\Users\user\appdata\local\temp\1.NETFramework,Version=v4.0.AssemblyAttributes.vb”,内容如下:

      Option Strict Off
              Option Explicit On
      
              Imports System
              Imports System.Reflection
              <Assembly: Global.System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName:=".NET Framework 4")>
      

      对于其他版本的 .NET,只需更改文件内容中的版本,例如

      [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")]
      

      【讨论】:

      • 错误消息可能会消失,但我遇到了其他奇怪的问题,即 Visual Studio 2015 没有更改我的调试输出过滤设置,这很烦人,在配置临时文件夹后问题消失了。跨度>
      【解决方案8】:

      不要直接从 Visual Studio 2010 打开解决方案。通过单击保存项目的文件夹中的项目解决方案文件来打开解决方案。

      它解决了我的问题...

      【讨论】:

      • 我想知道怎样才能解决这里描述的问题。
      【解决方案9】:

      就像 vcsjones 所说,它看起来像是 RDC 的问题。在我关闭 RDC 会话并重置终端服务器后,它自行修复。

      【讨论】:

        【解决方案10】:

        确保您的驱动器有足够的可用空间。 我遇到了同样的问题,在驱动器中分配更多可用空间后解决了

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-07-26
          • 2020-01-07
          • 2021-11-12
          • 1970-01-01
          • 1970-01-01
          • 2014-10-07
          相关资源
          最近更新 更多