2016-09-08 104 views
2

将所有project.json文件升级到.NET core的新格式后,我无法运行实体框架6迁移的'dotnet ef'。任何人都可以看到下面的project.json有什么问题吗?升级到.NET Core 1.0项目文件后,无法在EF6上运行'dotnet ef'

之前我project.json是这样的:

{ 
    "frameworks": { 
    "dnx46": { 
     "dependencies": { 
     } 
    } 
    }, 
    "dependencies": { 
    "EntityFramework": "6.1.3", 
    "EntityFramework.DynamicFilters": "1.4.8-*", 
    "Migrator.EF6": "1.1.0", 
    .... 
    }, 
    "commands": { 
    "ef": "Migrator.EF6" 
    } 
} 

现在看起来是这样的:

{ 
     ... 
     "frameworks": { 
     "net46": { 
      "dependencies": { 
      } 
     } 
     }, 
     "dependencies": { 
     "EntityFramework": "6.1.3", 
     "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0", 
     "EntityFramework.DynamicFilters": "1.4.8-*", 
     "Migrator.EF6": "1.2.0", 
     "Migrator.EF6.Tools": { 
      "version": "1.0.3", 
      "target": "package", 
      "type": "build" 
     }, 
     ... 
     }, 
     "tools": { 
     "Migrator.EF6.Tools": { 
      "version": "1.0.3", 
      "imports": "portable-net45+win8+dnxcore50" 
     } 
     } 
    } 

这是错误消息当我运行 'DOTNET EF' 我目前有:

未处理的异常: Microsoft.DotNet.Cli.Utils.CommandUnknownException:无可执行文件 找到匹配命令“dotnet-ef”

回答

3

您必须将其添加到您的project.json文件中。

"buildOptions": { 
    "emitEntryPoint": true 
} 

另外,如果你没有一个主类中添加一个空的Main类是这样的:

public class Program 
{ 

    public static void Main(string[] args) 
    { 

    } 
} 
+1

伟大的建议!在添加之后,它抱怨没有主程序存在。所以在添加一个空的Main类后它就起作用了。非常感谢。 –

+0

热烈欢迎您:) – Sampath

+0

请将您的问题作为一个新问题@ZainAlabdinTawfiq然后你会有更好的反馈。 – Sampath

相关问题