Элемент с таким же ключом уже добавлен при создании нового проекта WPF.

Я только что создал новый проект WPF в Visual Studio 2015 Pro, и после того, как диалоговое окно «Создание проекта» исчезает, я не получаю конструктор. Это ArgumentException просто отображается там, и я не добавлял никаких элементов управления или чего-то еще. Только что создал проект и понял.

Я читал, что это исключение возникает, когда у меня есть повторяющиеся файлы, такие как файл resx с именем Resources.resx или LIKE, когда я использую один и тот же файл дважды, но я не делаю ничего, кроме создания нового проекта.

Я могу успешно построить решение и проект без ошибок. Я открываю скомпилированный EXE, и он выглядит нормально. Но я не могу использовать конструктор внутри VS.

Это решение WPF предназначено для .NET4.5. Я попытался создать новый, ориентированный на другие версии .NET, но происходит то же самое.

[EDIT] Вот все исключение, созданное VS:

System.ArgumentException

An item with the same key has already been added.

   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   at Microsoft.VisualStudio.DesignTools.Utility.Telemetry.VsTelemetryService.RegisterDesignerProcessSession(Int32 pid)
   at Microsoft.VisualStudio.DesignTools.Utility.Feedback.WatsonTracker.RegisterSession(Int32 processID)
   at Microsoft.VisualStudio.DesignTools.Utility.DesignerSessionTracker.RecordDesignerStart(Int32 processID, String isolationTargetIdentifier, Boolean mockCustomTypes, String buildConfiguration)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain..ctor(ProcessDomainFactory factory, IIsolationBoundary boundary, AppDomainSetup appDomainInfo, IIsolationTarget isolationTarget, String baseDirectory)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBoundary.Initialize()
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBoundary.CreateInstance[T](Type type)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedObjectFactory.Initialize()
   at Microsoft.VisualStudio.DesignTools.DesignerHost.Services.VSIsolationService.CreateObjectFactory(IIsolationTarget isolationTarget, IObjectCatalog catalog)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.CreateLease(IIsolationTarget isolationTarget, CancellationToken cancelToken, DesignerServiceEntry& entry, IServiceProvider serviceOverrides)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.IsolatedDesignerView.CreateDesignerViewInfo(CancellationToken cancelToken)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskScheduler.InvokeWithCulture[T](CultureInfo culture, Func`2 func, CancellationToken cancelToken)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskScheduler.<>c__DisplayClass10_0`1.<StartTask>b__0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

Вот скриншот: Visual Studio 2015 Pro, исключение WPF

Надеюсь, кто-то может помочь мне решить эту проблему. Заранее спасибо - CCB


person ChrisCreateBoss    schedule 19.12.2015    source источник
comment
Пожалуйста, разместите больше информации. Точное сообщение об ошибке и XAML были бы хорошим началом.   -  person Domysee    schedule 19.12.2015
comment
Если вы создадите новое решение, вы также получите ту же ошибку?   -  person AnjumSKhan    schedule 19.12.2015
comment
@MsYvette ничего не происходит, ошибка просто сохраняется там, я не могу получить доступ к дизайнеру форм.   -  person ChrisCreateBoss    schedule 19.12.2015
comment
@AnjumSKhan Да, я всегда получаю исключение, но только при создании решений WPF.   -  person ChrisCreateBoss    schedule 19.12.2015
comment
@Domysee Вопрос обновлен с описанием ошибки и снимком экрана.   -  person ChrisCreateBoss    schedule 19.12.2015
comment
FWIW, вы не одиноки с этой проблемой. У меня такая же проблема, как с существующими приложениями, так и при создании нового.   -  person Sam Storie    schedule 08.02.2016


Ответы (1)


Я получил такое же исключение и без чьей-либо помощи сократил как xaml, так и cs до минимума. Я удалил папки bin и obj, перезапустил VS, перезагрузил компьютер, но все равно не повезло. В VS 2012 дизайнер не загружался с другим сообщением об ошибке. Этот сообщение помогло мне решить проблему

ИСПРАВИТЬ: Удалите или переименуйте файл "C:\Program", затем нажмите "Нажмите здесь, чтобы перезагрузить конструктор".

В моем случае программа представляла собой текстовый файл без расширения из-за записи вывода команды ipconfig MS-DOS. Нет необходимости закрывать конструктор xaml, перекомпилировать, очищать кеш или перезапускать Visual Studio.

Каким-то образом VS пытается его прочитать при загрузке дизайнера (проверено с помощью Process Monitor от Sysinternals). Для информации стек в Visual Studio 2012 был таким же, как это сообщение об ошибке.

System.Runtime.Remoting.RemotingException
[] Designer process terminated unexpectedly!
   at Microsoft.Expression.DesignHost.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain.Microsoft.Expression.DesignHost.Isolation.IIsolationDomain.CreateInstance(String assemblyName, String assemblyCodeBase, String typeName)
   at Microsoft.Expression.DesignHost.Isolation.Primitives.IsolationBoundary.Initialize()
   at Microsoft.Expression.DesignHost.Isolation.Primitives.IsolationBoundary.CreateInstance[T](Type type)
   at Microsoft.Expression.DesignHost.Isolation.IsolatedExportProvider.Initialize()
   at Microsoft.VisualStudio.ExpressionHost.Services.VSIsolationService.CreateExportProvider(IIsolationTarget isolationTarget, ICatalogFactory catalogFactory, IExportFilter filter)
   at Microsoft.Expression.DesignHost.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)
   at Microsoft.Expression.DesignHost.IsolatedDesignerService.CreateLease(IIsolationTarget isolationTarget, CancellationToken cancelToken, DesignerServiceEntry& entry)
   at Microsoft.Expression.DesignHost.IsolatedDesignerService.IsolatedDesignerView.CreateDesignerViewInfo(CancellationToken cancelToken)
   at Microsoft.Expression.DesignHost.Isolation.IsolatedTaskScheduler.InvokeWithCulture[T](CultureInfo culture, Func`2 func, CancellationToken cancelToken)
   at Microsoft.Expression.DesignHost.Isolation.IsolatedTaskScheduler.<>c__DisplayClassa`1.<StartTask>b__6()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
person Claude Ducharme    schedule 09.02.2017
comment
Это сработало для меня! В моем случае этот файл, по-видимому, был помещен туда Anaconda (набор приложений Python для обработки данных). - person Sam Storie; 11.05.2017