我正在尝试构建一个Visual Studio加载项。对于长期的原因(使用.NET Reflector的反汇编程序集),我删除了对EnvDTE程序集的引用,然后重新添加了它。我的项目仍然生成没有任何问题,但是当我运行我的项目时,我得到以下异常。什么可能导致“Path Too Long”异常?
发生System.IO.PathTooLongException 消息=指定的路径,文件名或这两者太长。完全限定的文件名必须少于260个字符,且目录名称必须少于248个字符。 源= mscorlib程序 堆栈跟踪: 在System.IO.PathHelper.GetFullPathName() 的InnerException:
我引用的都没有特别长的路径 - 他们都GAC和大致相同的长度。我没有尝试做任何与EnvDTE组装有问题之前不同的事情。
有没有人有任何想法可能会导致这种情况,以及如何解决?
UPDATE: 我的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>
感谢您的帮助JaredPar,但你可以在我的编辑张贴在上面看到的,没有一个参考的路径就显得特别长。 – awj 2010-08-18 19:09:21