Saya tidak dapat menjalankan pengujian unit saya.
Saya mengalami kesalahan berikutnya:
Proyek Anda tidak mengacu pada kerangka kerja ".NETFramework, Version = v4.6.2". Tambahkan referensi ke ".NETFramework, Version = v4.6.2" di properti "TargetFrameworks" dari file proyek Anda dan kemudian jalankan kembali pemulihan NuGet.
Masuk app.config
:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
Di Project> Properties> Application> TargetFramework (.NET Framework 4.6.2)
Bagaimana cara memperbaikinya?
c#
unit-testing
mstest
csproj
.net-framework-version
Василь Ткачук
sumber
sumber
Jawaban:
Harap lakukan langkah selanjutnya
sumber
obj/
folder.Saya mengalami masalah serupa, tetapi dengan
v4.7.2
. Yaitu, saya terus mendapatkan pesan log build seperti ini:Terlepas dari kenyataan bahwa itu tampak serupa, tidak ada langkah yang diusulkan di atas yang berhasil untuk saya. Saya terus melihat pesan ini setelah setiap build. Sepertinya tidak ada yang bisa membantu.
Faktanya, masalahnya terkait dengan itu, karena migrasi, saya harus meletakkan dua proyek dalam satu folder kode. Salah satunya ditargetkan pada .Net Core , yang lain di .Net Framework , keduanya mereferensikan pustaka .Net Standard yang sama. Rupanya, mereka berbagi
obj
folder yang sama tempat proyek Inti meletakkanproject.assets.json
file. Sebenarnya, sebenarnya file ini mengganggu proyek Framework yang mencegah pembuatan normalnya. Tampaknya bahkan jika Anda melakukan Migrasi dari packages.config ke PackageReference ... yang direkomendasikan sebagai salah satu solusi yang memungkinkan.Anda dapat mencoba memperbaiki masalah ini dengan memasukkan cuplikan berikut ke dalam file proyek Framework Anda:
<Project> ... <PropertyGroup> <BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath> <BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath> </PropertyGroup> ... </Project>
Itu langsung bekerja untuk saya, baru kemudian ketika saya dengan penuh perhatian membaca mengapa kita membutuhkannya dan mengapa itu berhasil. Saya tiba-tiba menemukannya di bagian 2 dari Migrasi Contoh Aplikasi WPF ke .NET Core 3 di bawah Memastikan bagian proyek .NET Framework masih membangun .
BaseOutputPath
danBaseIntermediateOutputPath
variabel msbuild dapat ditemukan di sana, tidak yakin apakah mereka terdokumentasi dengan baik di mana saja.sumber
Itu terjadi pada saya saat membuka proyek VS2015 di VS2017. Menghapus
project.assets.json
dariobj
folder melakukan triknya.Bagaimanapun, Kerangka dari pesan itu hilang dalam file, saya tidak menambahkannya di sana, pergi dengan menghapusnya.
sumber
Saya memilih Larissa tetapi saya pikir mungkin berguna untuk mengetahui bagaimana saya terlibat dalam hal ini. Saya menambahkan file proyek standar .net ke build saya (kami menargetkan banyak platform) dan menghasilkan puing-puing yang ditemukan di folder obj. Ketika android sanity build muncul, folder obj tersebut muncul. Solusi saya adalah membersihkan folder itu sebagai langkah pra-bangun. Ini adalah masalah yang sulit karena bekerja dengan baik selama bertahun-tahun ... jarum bertemu tumpukan jerami.
sumber
Untuk kasus saya, hapus
.pkgrefgen/
folder di bawah folder proyek bekerja, itu berisi file project.assets.json yang merujuk ke kerangka .net lamasumber
Saya mengalami hal yang sama dengan .net 4.71. Dalam kasus saya, saya hanya bermigrasi dari packages.config ke "referensi paket" per
Bermigrasi dari packages.config ke PackageReference
... dan itu memperbaiki masalah saya. Bagi saya, saya akan tetap melakukan ini, jadi jika Anda sudah melakukannya, saya akan melewati langkah di atas dan bermigrasi ke referensi paket.
sumber
Saya menggunakan proyek .NET yang sangat tua, dan bekerja dengan baik sampai berhenti tiba-tiba. Memutakhirkan Visual Studio tetap untukku.
sumber