かわろぐ

技術、ボルダリング、セキュリティ、その他もろもろ

MENU

asp.net 5 とEntityFramework で web api を作る ~チュートリアルでトラブル編~

環境

  • Visual Studio 2015 Pro
  • dnx-clr-win-x86.1.0.0-bata7
  • EntityFramework 7.0.0-bata7

asp.net 5 で API を作りたかった

このチュートリアルを参考にしながら EntityFramework を使ってmigrationのところまで進めていました。

dnu restore しようとしたら下記の様なエラーに遭遇

Failed to resolve the following dependencies for target framework 'DNX,Version=v4.5.1'

C:\Users\kawa\Documents\Visual Studio 2015\Projects\prj1>dnx ef migrations add ActivityMigration
System.InvalidOperationException: Failed to resolve the following dependencies for target framework 'DNX,Version=v4.5.1'
:
   EntityFramework.Commands 7.0.0-beta7
   EntityFramework.SqlServer 7.0.0-beta7
   Microsoft.AspNet.Mvc 6.0.0-beta5
   Microsoft.AspNet.Server.IIS 1.0.0-beta5
   Microsoft.AspNet.Server.WebListener 1.0.0-beta5
   Microsoft.AspNet.StaticFiles 1.0.0-beta5

C:\Users\kawa\Documents\Visual Studio 2015\Projects\prj1\src\prj1\project.lock.json(1,0): error: The expected
lock file doesn't exist. Please run "dnu restore" to generate a new lock file.
Current runtime target framework: 'DNX,Version=v4.5.1 (dnx451)'
Version:      1.0.0-beta7-15532
Type:         CLR
Architecture: x86
OS Name:      Windows
OS Version:   6.2.9200.0
   場所 Microsoft.Dnx.Runtime.DefaultHost.GetEntryPoint(String applicationName)
   場所 Microsoft.Dnx.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args)
   場所 Microsoft.Dnx.ApplicationHost.Program.Main(String[] args)
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider servi
ceProvider)
   場所 Microsoft.Dnx.Host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment env, FrameworkName targetFramework)
   場所 Microsoft.Dnx.Host.RuntimeBootstrapper.ExecuteAsync(String[] args, FrameworkName targetFramework)
   場所 Microsoft.Dnx.Host.RuntimeBootstrapper.Execute(String[] args, FrameworkName targetFramework)

http://www.expertdebugger.com/2015/09/09/visual-studio-2015-asp-net-5-system-invalidoperationexception-failed-to-resolve-the-following-dependencies-for-target-framework-dnxversionv4-5-1/

おそらく上記のリンクの内容で解決できるようなのでやってみた。そして、提示されていたアップデートを適応してみたら、 asp.net5 のプロジェクトを全く作れなくなり、読み込もうとしても

The spesified default content type (Default) is not defind in the project item schema

みたいなダイアログが表示される。該当アップデートをアンインストールしたら今度は 4.5 で作っていた Web アプリのプロジェクトが非互換と表示され読み込めない始末… 該当の例外でググったところ英語版ならできるっぽいと記述があり、実際出来た。きっとリソースか何かが英語版のものしかなかったんだろうなぁ。

続く。。。