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.Dictionary
2.Добавить (ключ 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? Это может предоставить вам более подробную информацию о том, где искать ваше собственное решение.