2013-11-13 9 views
8

Я пытаюсь установить рамки сущности 6 и она всегда катится назад с ошибкойошибки: Эта операция создаст неправильно структурированный документ

error: This operation would create an incorrectly structured document. 

Я удалил все ссылки на все библиотеки DLL, упомянутых в это место. http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6

Сумасшедшая вещь, что я могу создать новый проект, создать программу WebAPI и попытаться добавить Entity Framework 6, и я получаю ту же ошибку, даже после удаления всех ссылок на System.Data.Entity.dll Я уже несколько дней в этом и нуждаюсь в серьезной помощи.

Что я могу сделать, чтобы установить Entity Framework 6?

Примечание: он будет устанавливать только поиск в библиотеке классов, а не приложение WebApi или MVC.


Если это поможет получить более подробную информацию об ошибке.

PM> Install-Package EntityFramework -Version 6.0.0 
Installing 'EntityFramework 6.0.0'. 
Successfully installed 'EntityFramework 6.0.0'. 
Adding 'EntityFramework 6.0.0' to AC. 
Successfully added 'EntityFramework 6.0.0' to AC. 
System.InvalidOperationException: This operation would create an incorrectly structured document. 
    at System.Xml.Linq.XDocument.ValidateDocument(XNode previous, XmlNodeType allowBefore, XmlNodeType allowAfter) 
    at System.Xml.Linq.XDocument.ValidateNode(XNode node, XNode previous) 
    at System.Xml.Linq.XContainer.AddNodeSkipNotify(XNode n) 
    at System.Xml.Linq.XContainer.AddContentSkipNotify(Object content) 
    at System.Xml.Linq.XContainer.Add(Object content) 
    at System.Data.Entity.Migrations.Extensions.XContainerExtensions.GetOrCreateElement(XContainer container, String elementName, XAttribute[] attributes) 
    at System.Data.Entity.ConnectionFactoryConfig.ConfigFileManipulator.AddOrUpdateConfigSection(XDocument config, Version entityFrameworkVersion) 
    at System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand.<>c__DisplayClass3.<Execute>b__1(XDocument c) 
    at System.Data.Entity.ConnectionFactoryConfig.ConfigFileProcessor.ProcessConfigFile(ProjectItem configItem, IEnumerable`1 manipulators) 
    at System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand.<>c__DisplayClass3.<Execute>b__0(ProjectItem i) 
    at System.Data.Entity.ConnectionFactoryConfig.ConfigFileFinder.FindConfigFiles(ProjectItems items, Action`1 action) 
    at System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand.Execute() 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) 
Uninstalling 'EntityFramework 6.0.0'. 
Successfully uninstalled 'EntityFramework 6.0.0'. 
Install failed. Rolling back... 
Install-Package : This operation would create an incorrectly structured document. 
At line:1 char:16 
+ Install-Package <<<< EntityFramework -Version 6.0.0 
    + CategoryInfo   : NotSpecified: (:) [Install-Package], RuntimeException 
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand 
+0

я с той же проблемой, вы когда-нибудь найти решение? – davemackey

+0

То же самое здесь..поэтому нет решения :-(? – Rob

ответ

2

Когда Entity Framework повышен, то App.config или web.config файлы будут вещи написаны в них. Я подозреваю, что это может быть проблемой. Взгляните на свои файлы app.config или web.config. Возможно, у EF-обновления возникли проблемы с записью на них, не делая недопустимый xml-документ.

2

Это зависит от ваших конфигурационных файлов. Просто детализировать решение, которое я нашел:

Сначала сохраните app.config, packages.config и web.config

Затем удалите их все. Я фактически удалил app.config и packages.config и просто очистил строки между и в web.config.

Затем я снова запустил пакет Install-Package, все прошло хорошо, а затем я добавил в свою конфигурацию.

15

У меня была та же проблема. Оказалось, что я добавлял EF одному из моих очень старых проектов и web.config было это пространство имен, определенное для <configuration /> элемента:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 

Удаление, что объявление пространства имен (xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0") помогли и решить эту проблему.

+1

Спасибо! У меня был такой же старый проект и удаление пространства имен тоже помогли мне. –

+0

Удаление xmlns из web.config исправляет это для меня тоже, я пытался установить Entity Рамки на 2 дня, и это исправило это для меня :) – Scott

4

У меня была такая же проблема, и я обнаружил, что причиной был элемент в файле web.config. В моем случае, я изменил это:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 

к этому:

<configuration> 

Это зафиксировал его.

0

Я была такая же проблема, и я изменил мой web.config от

(<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">) 

Для

(<configuration>) 
0

В веб-приложение, web.config имел ссылку на внешнее приложение.конфигурации:

<appSettings configSource="App.config" />

Это требует App.config быть в определенном формате, что EntityFrameworks инсталлятор считает недействительным

Таким образом, как и другие, ключ был:

  • переименовать/удалить App.config

  • Установить EF

  • вернуть App.config

Смежные вопросы