Saya mengkloning ASP.NET Core SignalR Repo secara lokal, dan mencoba membuka solusi dari dalam lingkungan berikut.
IDE
Microsoft Visual Studio Enterprise 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01055
DOT NET CLI
λ dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)
Product Information:
Version: 1.0.0-preview2-1-003177
Commit SHA-1 hash: a2df9c2576
Runtime Environment:
OS Name: Windows
OS Version: 6.1.7601
OS Platform: Windows
RID: win7-x64
Saya akhirnya melihat banyak jenis pesan kesalahan ini:
..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj
: error: Namespace XML default dari proyek harus MSpace XML namespace. Jika proyek ini ditulis dalam format MSBuild 2003, silakan tambahkanxmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ke elemen. Jika proyek telah ditulis dalam format 1.0 atau 1.2 yang lama, harap ubah ke format MSBuild 2003...\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj
Saya ingin tahu bagaimana cara memperbaikinya dengan cara yang benar.
asp.net-mvc
asp.net-core
visual-studio-2015
msbuild
.net-core
David Pine
sumber
sumber
Jawaban:
Proyek yang Anda coba buka ada dalam format .NET Core csproj yang baru. Ini berarti Anda harus menggunakan Visual Studio 2017 yang mendukung format baru ini.
Untuk sedikit sejarah, awalnya .NET Core digunakan
project.json
sebagai ganti*.csproj
. Namun, setelah beberapa pertimbangan internal yang cukup besar di Microsoft, mereka memutuskan untuk kembalicsproj
tetapi dengan format yang jauh lebih bersih dan diperbarui. Namun, format baru ini hanya didukung di VS2017.Jika Anda ingin membuka proyek tetapi tidak ingin menunggu hingga 7 Maret th untuk rilis VS2017 resmi, Anda bisa menggunakan Visual Studio Kode gantinya.
sumber
Saya mengalami masalah ini saat membuka Layanan Fabric GettingStartedApplication di Visual Studio 2015. Solusi asli dibangun di atas .NET Core di VS 2017 dan saya mendapatkan kesalahan yang sama ketika membuka di 2015.
Berikut adalah langkah-langkah yang saya ikuti untuk menyelesaikan masalah ini.
Lihat baris berikut di tag Proyek:
<Project Sdk="Microsoft.NET.Sdk.Web" >
Ikuti instruksi yang ditampilkan dalam pesan kesalahan untuk ditambahkan
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ke tag iniSeharusnya sekarang terlihat seperti:
Melihat bahwa tidak ada elemen yang memiliki atribut pembaruan seperti di bawah ini:
Mengomentari seperti di bawah ini.
Ke kesalahan berikutnya: Versi dalam Paket Referensi tidak dikenali
Melihat bahwa Versi ada di csproj xml seperti di bawah ini (garis PackageReference tambahan dihapus untuk singkatnya)
Melucuti atribut Versi
Saya sekarang mendapatkan yang berikut:
Bingo! Visual Studio One-way upgrade dimulai! Biarkan VS melakukan keajaiban!
Proyek dimuat tetapi dengan kesalahan lib referensi.
Memperbaiki kesalahan lib referensi secara individual, dengan menghapus dan mengganti di NuGet agar proyek berfungsi!
Semoga ini bisa membantu traveler kode lain :-D
sumber
@ DavidG jawaban sudah benar, tetapi saya ingin menambahkan bahwa jika Anda membangun dari baris perintah, solusi yang setara adalah memastikan bahwa Anda menggunakan versi yang sesuai dari
msbuild
(dalam kasus khusus ini, itu perlu versi 15).Jalankan
msbuild /?
untuk melihat versi mana yang Anda gunakan atauwhere msbuild
untuk memeriksa lokasi darimana lingkungan mengambil executable dan memperbarui (atau menunjuk ke lokasi yang tepat) alat jika perlu.Unduh alat MSBuild terbaru dari sini .
sumber
Jika mendapatkan kesalahan ini saat mencoba membangun aplikasi .Net Core 2.0 di VSTS maka pastikan definisi build Anda menggunakan
Hosted VS2017
antrian Agen.sumber
Saya mendapatkan pesan yang sama ketika saya menjalankan hanya msbuild dari PowerShell.
dotnet msbuild "./project.csproj"
bekerja untukku.sumber
jika proyeknya tidak besar,
1- mengubah nama proyek folder
2- membuat proyek baru dengan proyek yang sama (sebelum mengganti nama)
3- menambahkan file yang ada dari proyek lama ke proyek baru (sama sekali, folder yang sama, nama yang sama, ...)
4- buka file proyek baru (sebagai xml) dan proyek lama
5- menyalin file proyek baru (konten xml) dan menempelkannya di file proyek lama
6- hapus proyek lama
7- ganti nama proyek folder lama ke nama lama
sumber