【问题标题】:PathTooLongException when I install Visual Studio extension安装 Visual Studio 扩展时出现 PathTooLongException
【发布时间】:2011-01-24 03:23:16
【问题描述】:

我在安装 Visual Studion 2010 扩展时遇到问题:

安装错误:System.IO.PathTooLongException: C:\Users\felix.DOMAIN\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Vendor\Vendor 2011 Developer Tools\1.0\ProjectTemplates\CSharp\XYZ\1033\ Vendor.XyzDeveloperTools.XyzPackageProject.zip

我通过双击 .vsix 文件来安装扩展;所以我没有选择将 Vendor 2011 Developer Tools 缩短为 VendorTools。还有其他(更手动的)方式来安装扩展吗?

顺便说一下,总长度是199个字符;我认为它小于 248 个字符的限制。如果有区别,我使用Win7 64位

【问题讨论】:

    标签: visual-studio-2010 visual-studio pathtoolongexception


    【解决方案1】:

    如果您在尝试安装插件时遇到错误,我尝试过的唯一一个有效的解决方案来自 this resource,感谢 Pedro Rainho

    你应该试试这个:

    1. 关闭 Visual Studio 2010 的所有实例。
    2. 转到 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE,或者你有的地方 安装了您的 Visual Studio 2010。
    3. 找到并编辑文件 文本编辑器(如记事本)中的 devenv.pkgdef。
    4. 您的文件应包含以下内容:

    [$Initialization$] "ApplicationExtensionsFolder" = "$RootFolder$\Common7\IDE\Extensions" "PkgDefSearchPath" = "$ApplicationExtensionsFolder$;$RootFolder$\Common7\IDE\CommonExtensions;$RootFolder$\Common7\IDE\devenv.admin.pkgdef;" "UserExtensionsRootFolder" = "$AppDataLocalFolder$\Extensions" "RegistryRoot" = "Software\Microsoft\VisualStudio\10.0"

    此文件包含 VSIX 安装的位置。您应该编辑 UserExtensionsRootFolder 并指定一个新文件夹。例如:

    改变这个:

    "UserExtensionsRootFolder"    = "$AppDataLocalFolder$\Extensions"
    

    到这里:

    "UserExtensionsRootFolder"    = "C:\Extensions"
    

    5- 保存文件并安装扩展。现在所有 VSIX 扩展都将安装到 C:\Extensions

    注意我使用的是带有 Windows XP 64 位的 Vistual Studio 2010 Ultimate。 当然"C:\Extensions" 这只是一个示例。

    【讨论】:

    • 但是...如果您之前安装了其他扩展,它们将不会显示在 Visual Studio 中。我更改了文件路径,安装了扩展,然后将其复制回旧的太长的扩展文件夹,并将 devenv.pkgdef 中的文件路径更改回原来的设置。
    • 您的 Answare 帮助了我,我使用的是 Windows 2003 和 Visual Studio 2010。
    【解决方案2】:

    来自codeplex

    1. 获取 vsix 文件,用 zip 或 rar 打开,解压到方便的位置,打开解压后的文件夹,
    2. 用记事本打开扩展清单,在名称标签内添加一些短名称 E.g. <Name>V</Name>
    3. 压缩完整文件夹,将 zip 文件扩展名重命名为 vsix
    4. 点击 vsix 并执行。

    【讨论】:

      【解决方案3】:

      我得到的总长度 = 193,而不是 199 - 无论哪种方式它都不应该抛出那个异常。

      随便看看

      How to avoid System.IO.PathTooLongException

      【讨论】:

      • 我在发布之前查看了它...该帖子的问题(除了它链接到另一个不存在的帖子的事实之外)是它描述了如何将文件复制到长目录在我的代码中。但是,我无法控制该复制!另外,我认为 long 目录名称来自 blah/blah/project.zip : project.vstemplate 这使它有 259 个字符。
      • 我认为可能的是解压缩文件,并以某种方式从 VS2010 内部安装扩展...但我在扩展管理器中看不到“浏览”按钮
      【解决方案4】:

      这是一个奇怪的错误,当我安装新的扩展程序时开始出现此错误。

      关闭所有 Visual Studio 实例后,以管理员身份尝试以下命令。

      devenv.exe /InstallVSTemplates

      如果您安装新的扩展程序,它可能会再次发生。如果是,则再次运行上述命令。

      【讨论】:

        猜你喜欢
        • 2012-04-11
        • 1970-01-01
        • 1970-01-01
        • 2021-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-05
        • 2023-03-31
        相关资源
        最近更新 更多