VSeWSS “Элемент с таким же ключом уже добавлен”
-
12-09-2019 - |
Вопрос
На этапе упаковки развертывания VSeWSS генерируется исключение.Из журналов:
2009/11/02 11:59:46 Ошибка System.Исключение ArgumentException:Элемент с тем же ключом уже добавлен.
в System.ThrowHelper.Исключение ThrowArgumentException(ExceptionResource ресурс) в System.Коллекции.Общий.Словарь2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary
2.Добавьте (TKey ключ, значение TValue) в Microsoft.SharePoint.Инструменты.SharePointProxies.WSPViewFacade.Создайте webpartreferenceresolverclassmap(строка[] пути) на VSeWSS.Server.Услуги.SPService.Создайте webpartreferenceresolverclassmap(Строка[] пути)
Кто-нибудь видел это раньше?Я проверил все свои feature.xml файлы и my solution.xml, чтобы увидеть, были ли дублированы какие-либо идентификаторы, и это не так.Я также проверил названия функций, и они также не были продублированы.Какие-нибудь намеки?
Решение 5
В конце концов я полностью переделал проект, и все снова стало хорошо.Обычно я бы отправил что-то подобное в MS Connect, но они никак не собираются это исправлять.VSeWSS как плагин VS2008 - это полностью мертвый продукт.
Нам просто придется повозиться, пока мы не получим VS2010, после чего я смогу начать исправлять ошибки в connect.
Другие советы
Вероятно, это ошибка во vsewss.Проблема в том, что он помнит, что в прошлый раз добавлял тот же элемент.
Попробуй:
- Чистое решение
- Закройте и снова откройте Visual Studio
Редактировать:еще несколько вещей, которые нужно попробовать
- Удалите развернутый код вручную из Sharepoint
- У вас установлена последняя версия инструмента vsewss?
- Есть ли у вас ссылки между проектами webpart?
- Доступны ли какие-либо файлы в каталоге pkg только для чтения
У меня тоже была эта проблема.
Это свелось к тому, что я локально подключил другую библиотеку DLL, на которую я тогда ссылался.Это уже было внедрено в предыдущем проекте.
Когда я исключил библиотеку DLL из решения, веб-часть была развернута
Проверьте свой manifest.xml файл для каждого проекта, в котором произошел сбой - удалите дублирующиеся ссылки на сборки, чтобы устранить эту проблему.
Не могли бы вы попробовать .NEt Reflector в библиотеке DLL VSeWSS и проверить фактический код, который начинает выполняться методом CreateWebPartReferenceResolverClassMap в Microsoft.SharePoint.Инструменты.SharePointProxies.Класс WSPViewFacade?Это может предоставить вам более подробную информацию о том, где искать в вашем собственном решении.