繁体   English   中英

由于Mac上的Windows,启用迁移无法正常工作

[英]Enable-Migrations Not Working Because of the Windows on Mac

我是Mac用户,但想通过Visual Studio用C#开发。 因此,我有一个Parallels帐户,该帐户是一个在使用OS时将操作系统切换到Windows的程序。

首先,让我介绍一下我遇到的错误:(尝试从NuGet软件包管理器内部的软件包管理器控制台中执行此操作)

无法确定有效的启动项目。 改用项目“ CodeFirstNewDatabaseSample”。 您的配置文件和工作目录可能未按预期设置。 使用-StartUpProjectName参数可以显式设置一个。 使用-Verbose开关以获取更多信息。

使用“ 1”参数调用“ LoadFrom”的异常:“无法加载文件或程序集'file:// \\ Mac \\ Home \\ Desktop \\ Visual Studio 2015 \\ Projects \\ CodeFirstNewDatabaseSample \\ packages \\ 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 <<<<(((加入路径$ ToolsPath EntityFramework.PowerShell.Utility.dll))+ CategoryInfo:未指定:(:) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException

您不能在空值表达式上调用方法。 在\\ Mac \\ Home \\ Desktop \\ Visual Studio 2015 \\ Projects \\ CodeFirstNewDatabaseSample \\ packages \\ EntityFramework.6.1.3 \\ tools \\ EntityFramework.psm1:781 char:50 + $ dispatcher = $ utilityAssembly.CreateInstance <<<<((+ CategoryInfo: InvalidOperation:(CreateInstance:String)[],RuntimeException + FullyQualifiedErrorId:InvokeMethodOnNull

使用“ 8”参数调用“ CreateInstanceFrom”的异常:“无法加载文件或程序集'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 \\ packages \\ EntityFramework.6.1.3 \\ tools \\ EntityFramework.psm1:809 char:31 + $ domain.CreateInstanceFrom <<<<(+ CategoryInfo:未指定:(:) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException

VS2015当前已下载到我的系统上。 我有一个模型类和一个本地数据库,但是从现在开始,我希望能够通过迁移来更改数据库。 但是,我在实现它方面遇到了麻烦,我认为背后的原因是这个问题表明了Windows在Mac上的事实。 我这样想是因为当我想在Windows系统上访问我的Visual Studio Projects时,我从“ Mac”(Y :)上名为Home的目录中的 网络位置 下进入(我遵循的确切路径是Computer-> Home on “ Mac”(Y:)[在“网络位置”选项卡下]->“文档”->“ Visual Studio 2015”。 再次,作为问题答案的提示,我将其剪切并粘贴到Windows系统的桌面上。 但是后来我意识到,我只能从“计算机”目录中的“网络位置”选项卡访问“桌面”。

希望以前有人遇到过同样的麻烦并解决了,以便他可以帮助我。

等待您的好答案,

谢谢,

我具有相同的配置(OSX + Parallels),并且比您有相同的问题。 当源代码位于OSX共享文件夹上时,EF Package Manager控制台会抛出该消息。 就像您的链接所指出的那样,问题不在于Mac + Parallels,而在于网络位置上的代码。

如果将代码移动到VM的桌面,如果Paralells配置为在Mac和Windows之间共享桌面,则可能仍在网络位置。 只需尝试一些纯Windows位置,如C:\\ VsProjects

我最终将代码移到Windows位置,对我来说效果更好,但是如果要将代码保留在网络文件夹中,只需要使用-StartupProjectName并在那里明确指定可执行项目即可。

对我来说,问题是没有确定DataAccessLayer项目。 我必须专门指定-ProjectName ,然后迁移工作。

Enable-Migrations -ProjectName <Project>.DataAccessLayer -StartUpProjectName <Project>.WebApi -Verbose

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM