2016-02-08 9 views
2

Я пользователь Mac, но хочу разработать с помощью C# через Visual Studio. Поэтому у меня есть Parallels аккаунт, который представляет собой программу для переключения ОС на Windows при ее использовании.Enable-Migrations не работает из-за Windows на Mac

Во-первых, позвольте мне представить ошибку я получаю: (Пытаюсь сделать это из диспетчера пакетов консоли внутри NuGet Package Manager)

Невозможно определить действительный стартовый проект. Вместо этого используйте проект 'CodeFirstNewDatabaseSample'. Ваш конфигурационный файл и рабочий каталог могут быть установлены не так, как ожидалось. Используйте параметр -StartUpProjectName, чтобы установить его явно. Для получения дополнительной информации используйте переключатель -Verbose.

Исключение вызова "LoadFrom" с "1" аргумент (ы): «Не удалось загрузить файл или сборку файл»: // \ Mac \ Home \ Desktop \ Visual Studio 2015 \ Projects \ CodeFirstNewDatabaseSample \ пакеты \ EntityFramework.6.1.3 \ tools \ E ntityFramework.PowerShell.Utility.dll 'или одна из его зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515) «В \ Mac \ Home \ Desktop \ Visual Studio 2015 \ Projects \ CodeFirstNewDatabaseSample \ packages \ EntityFramework.6.1.3 \ tools \ EntityFramework.psm1: 780 char: 62 + $ utilityAssembly = [System.Reflection.Assembly] :: LoadFrom < < < < ((Join-Path $ ToolsPath EntityFramework.PowerShell.Utility.dll)) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException

Вы не можете вызвать метод на нуль- оцененное выражение. В \ Mac \ Home \ Desktop \ Визуальная Студия 2015 \ Projects \ CodeFirstNewDatabaseSample \ пакеты \ EntityFramework.6.1.3 \ Tools \ EntityFramework.psm1: 781 символ: 50 + $ диспетчеру = $ utilityAssembly.CreateInstance < < < < ( + CategoryInfo: InvalidOperation: (CreateInstance: String) [], RuntimeException + FullyQualifiedErrorId: InvokeMethodOnNull

Исключение вызова "CreateInstanceFrom" с "8" аргумент (ы): «Может не загрузить файл или сборку ' file: // \ Mac \ Home \ Desktop \ Visual Studio 2015 \ Projects \ CodeFirstNewDatabaseSample \ packages \ EntityFramework.6.1 .3 \ tools \ EntityFramework.PowerShell.dll 'или одна из его зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)»В \ Mac \ Home \ Desktop \ Visual Studio 2015 \ Projects \ CodeFirstNewDatabaseSample \ пакеты \ EntityFramework.6.1.3 \ Tools \ EntityFramework.psm1: 809 символ: 31 + $ домен. CreateInstanceFrom < < < < ( + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId:. DotNetMethodException

VS2015 в настоящее время загружены на моей системе у меня есть класс модели и локальную базу данных, но теперь Я хочу иметь возможность изменять базу данных через миграцию.Тем не менее, у меня возникают проблемы с его достижением, и я думаю, причина в том, что Windows находится на Mac, как предлагает this question. Я так подумал, потому что, когда мне захотелось получить доступ к моим проектам Visual Studio в системе Windows, я вошел в каталог с именем Home на «Mac» (Y :) под Местоположение сети (Точный путь, которым я следовал, это компьютер -> Главная на «Mac» (Y:) [Вкладка «Расположение в сети»] -> Документы-> Visual Studio 2015). Опять же, поскольку в ответе на вопрос предлагается, я разрезал его и вставлял в Рабочий стол моей системы Windows. Но позже я понял, что я могу только перейти на вкладку Desktop from Network Locations в каталоге Computer.

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

Жду ваших хороших ответов,

Спасибо,

+0

И вы серьезно думаете, что у MacOS Hypervisor-Host есть НИЧЕГО? – TomTom

+0

Ну, может быть, как я уже сказал, подумал я. Но вы правы, это может быть не так, поэтому я сменил название. –

+0

Я думаю, что этот вопрос на самом деле связан с OSX и Paralells, потому что он работает с сетевыми папками. Если вопрос специфичен в отношении проектов в сетевых папках, то это дублированный вопрос, на который ответили в ссылке. Imo было бы гораздо полезнее дать заголовок вопроса о OSX и Paralells, чтобы позволить другим людям с той же проблемой, что и вы и я быстрее находим ответ. – tede24

ответ

3

Я имею такую ​​же конфигурацию (OSX + Parallels) и была такая же проблема, чем вы. Когда исходный код находится в общей папке OSX, EF Package Manager Console выдает это сообщение. И, как заявляет ваша связь, проблема не в Mac + Parallels, а в коде в сетевом расположении.

Если вы переместите код на рабочий стол вашей виртуальной машины, возможно, это все еще сетевое расположение, если Paralells настроен для совместного использования рабочего стола между Mac и Windows. Просто попробуйте найти чистые окна, так как C: \ VsProjects

Я переехал код в папку Windows, он работал намного лучше для меня, но если вы хотите сохранить код в сетевой папке, просто нужно использовать -StartupProjectName и явно укажите исполняемый проект.

+0

Спасибо за ваш ответ и жаль, что я только что видел ваш ответ. Попробуй сразу, а потом сообщите, работает ли это или нет. –

+0

Я думаю, что теперь это работает. Но предупредите меня, сказав: «Обнаруженная база данных, созданная с помощью инициализатора базы данных. Перемещение леса» 201602062250118_InitialCreate, соответствующая существующей базе данных. Чтобы вместо этого использовать автоматическую миграцию, удалите папку Migrations и запустите Enable-Migrations, указав параметр -EnableAutomaticMigrations ». Как вы думаете, это хорошо? Также интересно, целесообразно ли изменить параметры импорта экспорта на этот путь? –

+0

Это еще один вопрос, пожалуйста, спросите его как новый. С уважением! – tede24