2012-12-19 32 views
5

Gần đây tôi đã chuyển sang VS2012 từ VS2010, khi mở một dự án cơ sở dữ liệu tôi nhận được dưới đây lỗiLàm thế nào để tải dự án cơ sở dữ liệu trong VS2010 và VS2012?

C:\Trunk\Database\Database.dbproj : error : Internal Error. The database platform service with type Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider is not valid. You must make sure the service is loaded, or you must provide the full type name of a valid database platform service. 

Tôi đoán nó có thể là các dòng sau trong hồ sơ dự án mà nó đang làm tắc nghẽn trên

<DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP> 

hoặc có thể đây

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" /> 

Bất kỳ ý tưởng làm thế nào để vượt qua lỗi này để tôi có thể tải dự án của tôi trong VS2012?

Trả lời

4

Dường như Microsoft có một Sql1110 DSP mới trong VS2012. VS2010 có phiên bản Sql1100.

Để sửa lỗi này, bên trong tập tin .dbproj của bạn, thay đổi dòng sau:

<ProjectVersion>4.0</ProjectVersion> 
<ProjectGuid>{a233d7e8-b460-4b72-a345-aaeee4fb3aca}</ProjectGuid> 
<DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP> 
... 
<!--Import the settings--> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" /> 
<ItemGroup> 

này:

<ProjectVersion>4.1</ProjectVersion> 
<ProjectGuid>{6cd7e290-f844-4410-97f6-e8fd6e63c5b5}</ProjectGuid> 
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP> 
... 
<!--Import the settings--> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" /> 
<ItemGroup> 

Tôi tạo ra một tập tin dự án cơ sở dữ liệu trống mới trong VS2012, so sánh. sqlproj tập tin vào .dbproj cũ của tôi, và các dòng ở trên là những khác biệt chính. Có, microsoft thay đổi phần mở rộng tập tin proj, nhưng bạn không phải thay đổi phần mở rộng dbproj cũ của bạn. Nó hoạt động trên tôi.

2

Vì chúng ta không có một bộ đầy đủ các mã để kiểm tra trên, thật khó để hiểu được vấn đề chính xác, nhưng đối với nhập khẩu của bạn - bạn nên thay đổi nó như thế này:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Schema.SqlTasks.targets" /> 

Nếu đây doesn' t giải quyết vấn đề, xin vui lòng cũng cập nhật nếu bạn đã Resharper cài đặt bởi bất kỳ cơ hội, và cố gắng xóa bộ nhớ cache của nó.

+0

Có, tôi đã Resharper cài đặt. – aggaton

+1

@aggaton - Một [liên kết] (http://connect.microsoft.com/VisualStudio/feedback/details/728838/visual-studio-11-shows-errors-even-it-built-succeeded) trên kết nối hiển thị tương tự lỗi đã được khắc phục khi bộ nhớ cache của resharper bị xóa. – Blachshma

+0

Xóa các tệp bộ nhớ cache resharper dường như làm các trick cho tôi, cảm ơn. Tôi đã chuyển bộ nhớ cache sang% TEMP% để dễ dàng tìm và loại bỏ thư mục ReSharperChache, sau đó khởi động lại VS2012. – aggaton

2

Chỉ cần để mọi người khác cũng có thể gặp phải vấn đề này cùng trên VS2013, mở file .dbproj dự án cơ sở dữ liệu của bạn hoặc .sqlproj trong trình soạn thảo văn bản:

Thay đổi:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" /> 

Để:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" /> 

Và từ

<ProjectVersion>4.0</ProjectVersion> 

Để:

<ProjectVersion>4.1</ProjectVersion> 

Và từ

<DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP> 

Để:

<DSP>Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider</DSP> 
+0

Phải sử dụng \ v12.0 \ nhưng điều này làm việc cho tôi. Cảm ơn – etliens

Các vấn đề liên quan