Berlaku Untuk
Visual Studio Ultimate 2012 Visual Studio Premium 2012 Visual Studio Express 2012 for Windows 8 Visual Studio Express 2012 for Windows Desktop Visual Studio Express 2012 for Windows Phone

Pendahuluan

Masalah pustaka kelas portabel mungkin terjadi setelah Anda menginstal Microsoft Visual Studio 2012 Update 2. Artikel ini menjelaskan tentang masalah tersebut dan memberikan penyelesaian.

Masalah 1

Gejala

Ketika Anda menggunakan sumber daya untuk membangun proyek portabel perpustakaan kelas setelah Anda menginstal Visual Studio 2012 pembaruan 2, Anda mungkin menerima pesan galat berikut:

'System.Type' tidak berisi definisi untuk 'Rakitan' dan tidak ada metode ekstensi 'Rakitan' menerima argumen pertama dari ketik 'System.Type' dapat ditemukan (Anda hilang menggunakan petunjuk atau rakitan referensi?)

Catatan Anda menerima galat ini bila Anda menggunakan Microsoft Visual C#.

'Rakitan' bukan anggota 'System.Type'

Catatan Anda menerima galat ini bila Anda menggunakan Microsoft Visual Basic.Masalah ini terjadi ketika salah satu dari platform berikut yang ditargetkan proyek Anda:

  • Microsoft .NET Framework 4,5 dan .NET untuk aplikasi toko Windows

  • .NET Framework 4,5 dan telepon Windows 8

  • .NET Framework 4,5, .NET untuk aplikasi toko Windows, dan Windows Phone 8

Pemecahan masalah

Untuk mengatasi masalah ini, Perbaiki kode yang dihasilkan designer dari berkas sumber daya. Untuk melakukannya, klik dua kali pesan kesalahan, dan kemudian ikuti langkah-langkah berikut:

Untuk Visual C#

  1. Tambahkan berikut menggunakan perintah:

    using System.Reflection;
  2. Temukan kode berikut:

    typeof(Resource1).Assembly

    Ganti kode tersebut dengan kode berikut:

    typeof(Resource1).GetTypeInfo().Assembly

Kode berikut ini adalah contoh yang mengalami masalah ini:

        /// <summary>         ///   Returns the cached ResourceManager instance used by this class.        /// </summary>        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]internal static global::System.Resources.ResourceManager ResourceManager {        get {                if (object.ReferenceEquals(resourceMan, null)) {                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PortableClassLibrary2.Resource1", typeof(Resource1).Assembly);                    resourceMan = temp;                }                return resourceMan;            }        }

Visual Basic

  1. Tambahkan berikut menggunakan perintah:

    Imports System.Reflection;
  2. Temukan kode berikut:

    GetType(Resource1).Assembly

    Ganti kode tersebut dengan kode berikut:

    GetType(Resource1).GetTypeInfo().Assembly

Kode berikut ini adalah contoh yang mengalami masalah ini:

        '''<summary>        '''  Returns the cached ResourceManager instance used by this class.        '''</summary>        <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _        Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager            Get                If Object.ReferenceEquals(resourceMan, Nothing) Then                    Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("PortableClassLibrary1.Resource1", GetType(Resource1).Assembly)                    resourceMan = temp                End If                Return resourceMan            End Get        End Property

Masalah 2

Gejala

Anda tidak dapat menggunakan sumber daya untuk membangun proyek portabel perpustakaan kelas setelah Anda menginstal Visual Studio 2012 pembaruan 2. Selain itu, Anda mungkin menerima salah satu dari banyak pesan kesalahan yang berbeda. Misalnya, Anda mungkin menerima salah satu pesan galat berikut:

Ketik 'System.Net.HttpStatusCode' ditetapkan di rakitan yang tidak dirujuk. Anda harus menambahkan referensi ke perkumpulan ' System.Net, versi = 2.0.5.0, budaya = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'.

Implisit tidak dapat mengubah jenis 'System.Net.HttpStatusCode' untuk ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll]'

Catatan masalah ini terjadi ketika salah satu dari platform berikut yang ditargetkan proyek Anda:

  • .NET Framework 4,5 dan Windows Phone 8

  • .NET Framework 4,5, .NET untuk aplikasi toko Windows, dan Windows Phone 8

Penyebab

Masalah ini terjadi karena Visual Studio 2012 pemutakhiran 2 telah terpasang setelah telepon perangkat lunak pengembangan Kit (SDK) Windows 8.0 diinstal. Oleh karena itu, berkas berikut ini telah dihapus:

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49\System.Net.dll

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49\System.ServiceModel.dll

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78\System.Net.dll

  • %programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78\System.ServiceModel.dll

Pemecahan masalah

Untuk mengatasi masalah ini, jalankan program perbaikan Visual Studio 2012. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Klik Mulai, klik Panel Kontrol, klik Program, lalu klik Program dan Fitur.

  2. Klik kanan versi Visual Studio 2012 yang telah Anda instal, dan kemudian klik Ubah.

  3. Klik Perbaiki ketika Wisaya Visual Studio 2012 penataan terbuka.

Catatan Jika Anda mengatur lingkungan pengembang baru, untuk menghindari masalah ini, Anda harus menginstal Visual Studio 2012 Update 2 sebelum menginstal Windows Phone 8.0 SDK.

Status

Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.