Visual Studio Express - Subtipe Proyek yang Hilang mencegah pembukaan proyek

Saya mencoba membuat proyek WCF dengan mengikuti panduan di sini ... http://msdn.microsoft.com/en-us/library/bb386386.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3, namun terhenti pada langkah pertama.

Buruk - VSE Windows Desktop tidak memiliki templat perpustakaan layanan WCF.

Bagus - Pengembang Web VSE melakukannya, jadi saya menyiapkan proyek WCF di Pengembang Web VSE

Buruk - Tidak dapat membuka proyek WCF di VSE Windows Desktop

Bagus - Cari tahu bahwa Anda dapat menyalin templat dari Folder Pengembang Web VSE ke VSE Windows Desktop, dan saya melakukannya

Bagus - VSE Windows Desktop sekarang memiliki templat perpustakaan layanan WCF, jadi saya mencoba membuat proyek WCF baru. VSE tampaknya mematuhi, menyiapkan folder proyek ... tapi kemudian

Buruk - ... menimbulkan kesalahan ...

The project file '... WcfService1.csproj' cannot be opened.

There is a missing subtype.

Subtype:'{blah blah}' us unsupported by this installation.

Saya bahkan mencoba mematikannya dan menyalakannya lagi.

Apa selanjutnya?


person Extermiknit    schedule 30.10.2014    source sumber
comment
Perpustakaan Layanan WCF tidak lebih dari perpustakaan kelas (DLL). Templat proyek mungkin membuatnya lebih mudah untuk memulai dan menjalankannya, namun daripada menjalankan semua rintangan yang Anda lakukan, cukup buat proyek perpustakaan kelas di VSE Windows Desktop.   -  person Tim    schedule 31.10.2014
comment
@Tim - saya tidak bisa. VSE Windows Desktop tidak memiliki templat perpustakaan layanan WCF, jadi saya bahkan tidak bisa membuat proyek WCF. Apakah yang Anda maksud adalah hal lain?   -  person Extermiknit    schedule 31.10.2014
comment
Anda mungkin ingin melihat pertanyaan terkait (duplikat?) ini untuk beberapa rintangan yang Anda hadapi. stackoverflow.com/questions/14698258/   -  person DeanOC    schedule 31.10.2014


Jawaban (2)


Seperti yang saya sebutkan dalam komentar saya, Perpustakaan Layanan WCF tidak lebih dari perpustakaan kelas - templat proyek Perpustakaan Layanan WCF hanya memiliki hal-hal tambahan untuk mempercepat penyiapan proyek. Anda dapat melakukan hal yang sama dengan membuat perpustakaan kelas.

Buka File -> Proyek Baru pada menu. Di jendela yang terbuka, perluas Visual C#, lalu pilih Windows dan pilih Perpustakaan Kelas dari daftar di tengah, beri nama lalu klik OK.

masukkan deskripsi gambar di sini

Anda harus menambahkan Antarmuka dan pengaturan konfigurasi untuk layanan ini, tetapi Anda harus dapat menyalin dan menempel dari artikel yang Anda ikuti. Setelah selesai, voila, Anda memiliki Perpustakaan Layanan WCF.

Diedit untuk detail selengkapnya

Satu-satunya hal yang diberikan templat Perpustakaan Layanan WCF kepada Anda adalah boilerplate untuk Perpustakaan Layanan WCF - yang mencakup file .cs untuk implementasi layanan, file .cs untuk kontrak layanan (antarmuka) yang diimplementasikan oleh layanan dan app.config file yang memiliki <system.serviceModel> entri yang diperlukan.

Tetap berpegang pada artikel yang Anda tautkan di postingan asli Anda, berikut cara melakukannya tanpa template.

Langkah 1 dan 2. Ikuti apa yang saya lakukan di atas - buat perpustakaan kelas. VS akan membuat proyek dan Anda akan melihat file bernama class1.cs. Ini akan menjadi kelas layanan Anda. Ubah namanya menjadi WCFServiceLibrary1.cs jika Anda menginginkannya.

Selanjutnya tambahkan antarmuka dan beri nama IWCFServiceLibrary1. Ini akan menjadi kontrak layanan Anda. Anda perlu memperbarui file WCFServiceLibrary1.cs dan menambahkan : IWCFServiceLibrary1 setelah public class WCFServiceLibrary1, sehingga tampilannya seperti ini:

public class WCFServiceLibrary1 : IWCFServiceLibrary1

Di antarmuka, tambahkan atribut [ServiceContract] di atas antarmuka, seperti ini:

[ServiceContract]
public interface IWCFServiceLibrary1

Anda juga ingin menambahkan referensi ke System.ServiceModel dan using System.ServiceModel ke kelas dan antarmuka Anda.

Langkah 3 dan 4. Salin kode dalam artikel ke file yang sesuai.

Langkah 5: Anda dapat menguji layanan dengan menekan F5 dan menjalankan WCFTestClient.

Anda kemudian dapat mengikuti sisa artikelnya.

Cara ini memerlukan waktu sedikit lebih lama, namun Anda juga akan mendapatkan pemahaman yang lebih baik tentang apa itu Perpustakaan Layanan WCF.

person Tim    schedule 31.10.2014
comment
Mencoba itu. Siapkan Perpustakaan Kelas baru di VSE untuk Desktop Windows dan mulai menyalin item dari VSE untuk Web (kikuk, tetapi mencoba menemukan masalahnya). TAPI, tidak dapat membuat item Layanan Web .asmx. Faktanya VSE Untuk Desktop Windows tidak memiliki satu pun item di bawah node Web untuk item Buat Baru. Bagaimana cara memasukkan barang-barang itu ke sana? PS Saya mencari di artikel tertaut, yang membahas tentang mengedit file XML, tapi di mana itu? - person Extermiknit; 31.10.2014
comment
Oke. Pertama, berhentilah mencoba menyalin sesuatu dari VSE untuk Web. Desktop memiliki semua yang Anda perlukan untuk membuat Perpustakaan Layanan WCF ini, hanya saja tidak dikemas dalam template yang rapi. ASMX != WCF - ASMX adalah teknologi lama dan tidak boleh digunakan untuk pengembangan baru. Beri saya waktu beberapa menit dan saya akan memperbarui jawaban saya. - person Tim; 31.10.2014
comment
Terima kasih atas kesabaran Anda. Saya telah melalui langkah-langkah Anda, tetapi terjebak pada Langkah 5. F5 (di perpustakaan kelas) memberikan pesan kesalahan berikut. Proyek dengan Tipe Keluaran Perpustakaan Kelas tidak dapat dimulai secara langsung. Untuk men-debug proyek ini, tambahkan proyek yang dapat dieksekusi ke solusi ini yang mereferensikan proyek perpustakaan. Tetapkan proyek yang dapat dieksekusi sebagai proyek startup. Saya kira saya memerlukan langkah berikutnya dalam penelusuran MSDN untuk menggerakkan perpustakaan kelas. - person Extermiknit; 01.11.2014
comment
Tidak boleh - Langkah selanjutnya dalam panduan ini memerlukan Tambahkan referensi layanan, tetapi tidak ada yang muncul di Discover, meskipun saya menambahkan proyek WcfService1 ke solusinya. Bagi saya sepertinya saya memiliki file tersebut, tetapi tidak ada mekanisme yang mengatakan gunakan file ini untuk menyiapkan layanan. Selain itu, VSE untuk Desktop Windows tidak memiliki opsi untuk Web seperti VSE untuk Web (tidak mengherankan), jadi tidak ada mekanisme untuk memilih server (misalnya IIS Express) atau untuk menyiapkan localhost. Apakah saya harus mengkodekan sesuatu secara manual di VSE untuk desktop windows untuk membuat server tiruan/localhost? - person Extermiknit; 01.11.2014

Manajemen ekspektasi - Saya diharapkan untuk melalui semua langkah dalam panduan ini, tetapi langkah tersebut mungkin tidak diperlukan (yang tersirat dalam jawaban yang diberikan). Jadi, saya mencoba pengaturan sederhana, yang dijelaskan di sini ...

Apakah mungkin untuk mulai menjelajahi WCF menggunakan Visual Studio Express untuk Windows Desktop 2013?

person Extermiknit    schedule 12.11.2014