【发布时间】:2010-08-18 17:17:41
【问题描述】:
我正在尝试构建 Visual Studio 加载项。
由于冗长的原因(与使用 .NET Reflector 提供的反汇编程序集有关),我删除了对 EnvDTE 程序集的引用,然后重新添加了它。我的项目仍然可以毫无问题地构建,但是当我运行我的项目时,出现以下异常。
发生 System.IO.PathTooLongException Message=指定的路径、文件名或两者都太长。完全限定的文件名必须少于 260 个字符,目录名必须少于 248 个字符。 源=mscorlib 堆栈跟踪: 在 System.IO.PathHelper.GetFullPathName() 内部异常:
我的所有参考资料都没有特别长的路径 - 它们都是 GAC,而且长度大致相同。我没有尝试做任何与 EnvDTE 程序集遇到问题之前不同的事情。
有没有人知道可能是什么原因造成的以及如何解决?
更新: 我的 csproj 文件显示以下参考路径:
<ItemGroup>
<Reference Include="BoneSoft.CSS">
<HintPath>bin\BoneSoft.CSS.dll</HintPath>
</Reference>
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Extensibility, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="HtmlAgilityPack">
<HintPath>bin\HtmlAgilityPack.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="Microsoft.VisualStudio.Shell, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="microsoft.visualstudio.shell.interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
【问题讨论】:
标签: visual-studio exception assemblies