2015-12-30 73 views
0

我正在使用VS Code和DNX開發Web API。目前我需要安裝實體框架。當我使用dnu install EntityFramework安裝軟件包時,沒有錯誤。它在package.json文件中添加條目"EntityFramework": "7.0.0-beta4"並更新project.lock.json使用dnu install安裝實體框架 - 多參考問題

但是,當我使用dnu build編譯應用程序我收到以下錯誤消息和生成失敗:

IHostingEnvironment存在於兩個Microsoft.AspNet.Hosting.Abstractions和Microsoft.AspNet.Hosting.Interfaces

我DNX版本4.5.1

我不知道這個問題的想法!有人請告訴我如何解決這個問題。

在此先感謝。

更新:

當我刪除的條目"EntityFramework": "7.0.0-beta4"project.json文件,運行dnu restore然後重新編譯使用dnu build它是成功的。我的猜測是在我的應用程序中默認安裝了一個EntityFramework(?)。如果是這樣,當我在我的控制器中添加命名空間System.Data.Entity時,它沒有得到解決。

我得到的消息是:

類型或命名空間「數據」不存在命名空間中的「系統」(?是否缺少程序集引用)dnx451,dnx451,dnxcore50,dnxcore50 ]

是不是System.Data自動安裝?

UPDATE(project.json文件)

{ 
 
    "version": "1.0.0-*", 
 
    "compilationOptions": { 
 
    "emitEntryPoint": true 
 
    }, 
 
    "tooling": { 
 
    "defaultNamespace": "apiservice" 
 
    }, 
 
    "dependencies": { 
 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", 
 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
 
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final", 
 
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final", 
 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final", 
 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final", 
 
    "System.Net.Http": "4.0.1-beta-23516", 
 
    "Microsoft.Net.Http": "2.2.29", 
 
    "EntityFramework": "7.0.0-beta4" 
 
    }, 
 
    "commands": { 
 
    "web": "Microsoft.AspNet.Server.Kestrel" 
 
    }, 
 
    "frameworks": { 
 
    "dnx451": {}, 
 
    "dnxcore50": {} 
 
    }, 
 
    "exclude": [ 
 
    "wwwroot", 
 
    "node_modules", 
 
    "bower_components" 
 
    ], 
 
    "publishExclude": [ 
 
    "**.user", 
 
    "**.vspscc" 
 
    ] 
 
}

+0

這聽起來像是你project.json的問題。你能發佈代碼嗎? –

+0

嗨羅伯託,我用'project.json'代碼更新了我的問題。 –

回答

0

你或許應該刪除接口,只使用抽象爲這個包被重新命名。

見公告:https://github.com/aspnet/Announcements/issues/14

+0

謝謝!刪除那些接口參數編譯應用程序。現在我看到'System.Data namaespace'可用。但即使安裝了'EntityFramework',我也沒有得到'System.Data.Entity'命名空間。爲什麼如此? –