VSeWSS "Элемент с тем же ключом уже добавлен"

На этапе пакета развертывания VSeWSS выдается исключение. Из журналов:

2009/11/02 11:59:46 Ошибка System.ArgumentException: элемент с тем же ключом уже добавлен.
в System.ThrowHelper.ThrowArgumentException(ресурс ExceptionResource) в System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary2.Добавить (ключ TKey, значение TValue) в Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade.CreateWebPartReferenceResolverClassMap(пути String[]) в VSeWSS.Server.Services.SPService.CreateWebPartRelassMapSolver (String[)

Кто-нибудь видел это раньше? Я проверил все мои файлы feature.xml и мой solution.xml, чтобы узнать, дублированы ли какие-либо идентификаторы, а они нет. Я также проверил названия функций, и они также не были продублированы. Есть намеки?

5 ответов

Решение

Я наконец закончил полностью реконструировать проект, и все снова хорошо. Обычно я отправляю что-то подобное в MS Connect, но они никак не могут это исправить. VSeWSS как плагин VS2008 - абсолютно мертвый продукт.

Нам просто придется побороться, пока мы не получим VS2010, после чего я могу начать регистрировать ошибки подключения.

Проверьте файл manifest.xml для каждого неудачного проекта - удалите дубликаты ссылок на сборки, чтобы решить эту проблему.

У меня тоже была эта проблема.

Все сводилось к тому, что я локально подключил другую DLL, на которую я тогда ссылался. Это уже было развернуто в предыдущем проекте.

Когда я исключил DLL из решения, веб-часть развернулась

Это, вероятно, ошибка в vsewss. Проблема в том, что он помнит, что в прошлый раз он добавил тот же элемент.

Пытаться:

  • Чистый раствор
  • Закройте и снова откройте Visual Studio

Изменить: еще несколько вещей, чтобы попробовать

  • Удалить развернутый код вручную из Sharepoint
  • У вас есть последняя версия инструмента vsewss?
  • У вас есть ссылки между веб-проектами?
  • Есть ли какие-либо файлы в каталоге pkg только для чтения

Не могли бы вы попробовать.NEt Reflector в библиотеках VSeWSS и проверить фактический код, который выполняется, выполняемый методом CreateWebPartReferenceResolverClassMap в классе Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade? Это может предоставить вам более подробную информацию о том, где искать ваше собственное решение.

Другие вопросы по тегам