Ketika saya mencoba untuk mengkompilasi proyek saya dari mode debug x86 di Visual Studio 2008. Saya mendapatkan kesalahan ini. Ketika saya melihat grup properti dari proyek yang mengeluh, saya melihat jalur keluaran disetel.
Berikut adalah bagian grup properti untuk file .csproj itu
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<FileAlignment>4096</FileAlignment>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
Adakah yang bisa menjelaskan hal ini?
CATATAN: Ketika saya mengkompilasi Debug ini dan semua CPU itu bekerja.
DIPERBARUI: Kesalahan 1 Properti OutputPath tidak ditetapkan untuk proyek ini. Harap periksa untuk memastikan bahwa Anda telah menentukan kombinasi Konfigurasi / Platform yang valid. Konfigurasi = 'Debug' Platform = 'x86'
c#
visual-studio
Amzath
sumber
sumber
Jawaban:
Saya mengalami kesalahan yang sama persis setelah menambahkan konfigurasi baru melalui ConfigurationManager di Visual Studio.
Ternyata ketika konfigurasi 'Produksi' ditambahkan untuk seluruh solusi (dan setiap proyek), elemen OutputPath tidak ditambahkan ke file .csproj.
Untuk memperbaikinya, saya pergi ke tab Build di properti proyek, mengubah OutputPath dari
\bin\Production\
menjadi\bin\Production
(menghapus jejak\
) dan menyimpan perubahan. Ini memaksa pembuatan elemen OutputPath dalam file .csproj dan proyek telah berhasil dibangun.Kedengarannya seperti kesalahan bagi saya.
sumber
any cpu
dananycpu
masalahnya, tetapi posting Anda membantu saya melihatnya.Anda dapat melihat kesalahan ini di VS 2008 jika Anda memiliki proyek dalam solusi Anda yang mereferensikan rakitan yang tidak dapat ditemukan. Ini dapat terjadi jika perakitan berasal dari proyek lain yang bukan merupakan bagian dari solusi Anda tetapi seharusnya menjadi bagian dari solusi Anda. Dalam hal ini hanya menambahkan proyek yang benar ke solusi akan menyelesaikannya.
Periksa bagian Referensi dari setiap proyek dalam solusi Anda. Jika salah satu dari mereka memiliki referensi dengan x merah di sebelahnya, maka Anda telah menemukan masalah Anda. Referensi perakitan itu tidak dapat ditemukan oleh solusi.
Pesan kesalahannya agak membingungkan tetapi saya telah melihatnya berkali-kali.
sumber
Jika Anda menggunakan WiX, lihat ini (ada bug) http://www.cnblogs.com/xixifusigao/archive/2012/03/20/2407651.html
Terkadang konfigurasi build baru ditambahkan ke
.wixproj
file di bagian bawah file, yaitu, dipisahkan dari definisi konfigurasi saudara kandungnya oleh elemen XML lain yang tidak terkait.Cukup edit
.wixproj
file tersebut sehingga semua<PropertyGroup>
bagian yang menentukan konfigurasi build Anda berdekatan satu sama lain. (Untuk mengedit.wixproj
di VS2013 klik kanan pada proyek di Solution Explorer, Unload proyek, klik kanan lagi-> Edit YourProject.wixproj. Reload setelah mengedit file.)sumber
Ini terjadi pada saya karena saya telah memindahkan baris berikut ke awal file .csproj:
Ini harus ditempatkan setelah PropertyGroups yang menentukan Konfigurasi | Platform Anda.
sumber
Kesalahan yang ditampilkan di studio visual untuk proyek (Katakanlah A) tidak memiliki masalah. Ketika saya melihat jendela keluaran untuk membangun baris demi baris untuk setiap proyek, saya melihat bahwa itu mengeluh tentang proyek lain (B) yang telah disebut sebagai perakitan dalam proyek A. Proyek B ditambahkan ke dalam solusi. Tetapi itu tidak dirujuk dalam proyek A sebagai referensi proyek, melainkan sebagai referensi perakitan dari lokasi yang berbeda. Lokasi itu berisi perakitan yang dikompilasi untuk Platform AnyCpu. Kemudian saya menghapus referensi perakitan dari proyek A dan menambahkan proyek B sebagai referensi. Ini mulai menyusun. Namun tidak yakin bagaimana perbaikan ini bekerja.
sumber
"any cpu"
adalah nilai default untuk BuildPlatform. Mengubah untuk"AnyCPU"
memecahkan masalah.Saya mengalami kesalahan yang sama tetapi masalahnya ternyata karena saya telah membuat konfigurasi baru dalam solusi saya yang tidak ada di rakitan yang direferensikan dari solusi lain.
Ini dapat diselesaikan dengan membuka solusi terkait dan menambahkan konfigurasi baru ke dalamnya juga.
Posting ini memberi saya ide untuk memeriksa rakitan yang direferensikan setelah saya mengonfirmasi bahwa semua proyek dalam solusi saya memiliki konfigurasi yang benar:
http://gabrielmagana.com/2010/04/solution-to-the-outputpath-property-is-not-set-for-this-project/
sumber
memiliki masalah ini sebagai keluaran dari Azure DevOps setelah menyetel untuk membangun .csproj, bukan .sln di Build Pipeline.
Solusi untuk saya: Edit .csproj dari proyek yang terpengaruh, lalu salin keseluruhan
Node, tempel, lalu ubah baris pertama seperti berikut:
Alasannya adalah, dalam kasus saya kesalahan tersebut mengatakan
Mengapa Azure ingin menggunakan "any cpu" daripada default "AnyCpu" adalah misteri bagi saya, tetapi peretasan ini berhasil.
sumber
Saya memiliki kesalahan yang sama, jadi saya melihat pengaturan proyek dan di sana di bagian "Build" adalah opsi "Build output path". Dan nilainya kosong. Jadi saya mengisi nilai "bin \" kesalahan menghilang. Itu memecahkan masalah saya.
sumber
Saya sudah:
Salin-tempel konfigurasi dari konfigurasi yang ada yang berfungsi dengan nama tertentu dan platform penargetan (saya memiliki Rilis | x64 ):
sumber
Jika Anda mendapatkan kesalahan ini hanya ketika Anda mencoba untuk mengkompilasi proyek Anda dari baris perintah menggunakan MSBuild (seperti dalam kasus saya) maka solusinya adalah dengan meneruskan jalur keluaran secara manual ke MSBuild dengan argumen seperti
/p:OutputPath=MyFolder
.sumber
Kemungkinan gila lainnya: Jika Anda mengikuti pengaturan kontrol sumber sederhana dengan meletakkan Branch \ Main, Main, dan Release di samping satu sama lain dan Anda entah bagaimana akhirnya menambahkan proyek yang ada dari Main daripada Branch \ Main (dengan asumsi solusi kerja Anda adalah Branch \ Utama), Anda mungkin melihat kesalahan ini.
Solusinya sederhana: rujuk proyek yang tepat!
sumber
Saya mengalami masalah ini saat menambahkan proyek ke solusi kemudian mereferensikannya dari proyek lain dalam solusi yang sama - mendapatkan ikon peringatan kuning di atas referensi, perhatikan bahwa jalurnya kosong.
Solusinya mirip dengan apa yang disarankan @Amzath, proyek saya sedang dikompilasi dengan Kerangka Target yang berbeda, misalnya. .NET 4.0 vs 4.5.
sumber
Dalam kasus saya, alamat yang dibangun dari aplikasi saya diatur ke komputer lain yang dimatikan jadi saya menyalakannya dan memulai ulang VS dan masalah terpecahkan.
sumber
Penyebab lain: Anda menambahkan referensi proyek dari proyek A ke proyek B dalam solusi X. Namun, solusi Y yang sudah berisi proyek A sekarang rusak, hingga Anda juga menambahkan proyek B ke solusi Y.
sumber
Saya mengalami masalah yang sama setelah saya menambahkan konfigurasi baru dan menghapus konfigurasi "debug" dan "rilis". Dalam kasus saya, saya menggunakan file cmd untuk menjalankan proses membangun dan menerbitkan, tetapi kesalahan yang sama terjadi. Solusi untuk saya: Di file csproj berikut ini:
sedang menyetel Konfigurasi ke "Debug" jika saya tidak menentukan yang eksplisit. Setelah mengubah nilai node dari "debug" ke konfigurasi kustom saya, semuanya bekerja dengan lancar. Semoga ini juga akan membantu siapa pun yang membaca ini :)
sumber
Saya memiliki masalah yang sama, Cukup edit .wixproj agar semua
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' ... >
elemen berdampingan.Itu memecahkan masalah saya
sumber
Proyek WiX yang saya gunakan telah diatur dengan keras di manajer konfigurasi untuk
x64
seluruh papan. Saat membuat proyek Tindakan Kustom untuk solusi, semuanya default kex86
dalam.csproj
file. Jadi saya membongkar proyek, mengeditnya dengan mengubah semuax86
menjadix64
, menyimpan, memuat ulang, dan baik untuk dilakukan setelah itu.Saya tidak mengerti mengapa saya harus melakukan ini. Manajer konfigurasi disetel untuk membangun sebagai x64, tetapi tidak akan disetel di
csproj
file :(sumber
Setelah mencoba semua saran lain yang diposting di sini, saya menemukan solusi bagi saya adalah menghapus bagian berikut dari
.csproj
file:Rupanya layanan ini dari proyek asli (tidak tersedia di mesin lokal) menghentikan seluruh proses pembangunan, meskipun itu tidak penting untuk kompilasi.
sumber
Saya mendapat masalah ini setelah menambahkan platform baru ke proyek saya. Dalam kasus saya, file .csproj berada di bawah kendali sumber Perforce dan hanya-baca. Saya memeriksanya tetapi VS tidak menangkap perubahan sampai saya memulainya kembali.
sumber
Saya memiliki masalah serupa di Proyek Xamarin. Ini mungkin kasus yang jarang terjadi, tetapi jika ada orang lain yang mengalami masalah ini. struktur proyek saya seperti di bawah ini
sumber