Tôi đang phát triển một dự án sẽ sử dụng ASP.NET Web API làm dịch vụ dữ liệu và ứng dụng di động Xamarin làm ứng dụng khách.VS 2015 ASP.NET Web API (EF6) & Xamarin Cho phép di chuyển không thành công
Tôi đang cố gắng để cho phép di cư trong ứng dụng web, nhưng tôi nhận được lỗi sau:
Enable-Migrations -enableautomaticmigrations -ContextTypeName MyProject.Models.ApplicationDbContext -ProjectName MyProject -StartupProjectName MyProject.App -Verbose
Using StartUp project 'MyProject.App'.
Exception calling "SetData" with "2" argument(s): "Type 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject' in assembly
'Microsoft.VisualStudio.ProjectSystem.VS.Implementation, Version=14.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is not marked as serializable."
At C:\Users\weitz\.nuget\packages\EntityFramework\6.1.3\tools\EntityFramework.psm1:718 char:5
+ $domain.SetData('project', $project)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SerializationException
Exception calling "SetData" with "2" argument(s): "Type 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject' in assembly
'Microsoft.VisualStudio.ProjectSystem.VS.Implementation, Version=14.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is not marked as serializable."
At C:\Users\weitz\.nuget\packages\EntityFramework\6.1.3\tools\EntityFramework.psm1:719 char:5
+ $domain.SetData('contextProject', $contextProject)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SerializationException
System.NullReferenceException: Object reference not set to an instance of an object.
at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetPropertyValue[T](Project project, String propertyName)
at System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName, Boolean useContextWorkingDirectory)
at System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(String contextTypeName)
at System.Data.Entity.Migrations.EnableMigrationsCommand.<>c__DisplayClass2.<.ctor>b__0()
at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Object reference not set to an instance of an object.
**PM>**
Như bạn thấy đấy, tôi đã cố gắng xác định các dự án khởi động một cách rõ ràng nhưng không giống giống như lệnh cho phép di chuyển là rất hạnh phúc về nó.
Đây là dự án tôi vừa tạo, sử dụng đầy đủ .NET (Tôi bị ràng buộc với mô hình TPT/TPH mà EF Core chưa hỗ trợ), vì vậy phiên bản EF là 6.1.3 nhắm mục tiêu .NET 4.6.1.
Tôi đang ở trên Cộng đồng VS 2015 Cập nhật 3 Phiên bản 14.0.25431.01.
Cập nhật
Không thể tái tạo, nhưng vấn đề xảy ra ngay cả khi thêm dự án khởi động giả.
Sự cố đã đăng chéo here, vui lòng bỏ phiếu và chia sẻ thử nghiệm của bạn.
Dự án khởi động của bạn có chứa app.config hoặc web.config mà bạn sử dụng để kết nối với cơ sở dữ liệu không? Bạn cũng có thể sử dụng dự án có chứa dbcontext như một dự án khởi động. – jomsk1e
Nó sử dụng appsettings.json để lưu trữ chuỗi kết nối. Nhưng tôi đã thử thêm chuỗi kết nối vào app.config và nó không giúp được gì. – Shimmy