我正在嘗試構建一個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