Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Въведение

Преносим библиотеки за клас проблеми могат да възникнат след инсталиране на Microsoft Visual Studio 2012 актуализация 2. Тази статия описва тези проблеми и техните решения.

Проблем 1

Симптоми

Когато използвате ресурси за изграждане на преносим библиотека за клас проект след инсталиране на Visual Studio 2012 актуализация 2, може да получите следното съобщение за грешка:

"System.Type" не съдържа дефиниция за "Събрание" и разширение метод "Събрание" приема първия аргумент от тип "System.Type" може да бъде намерена (липсват използване директива или събрание препратка?)

Забележка: Получавате тази грешка, когато използвате Microsoft Visual C#.

"Блок" не е член на "System.Type"

Забележка: Получавате тази грешка, когато използвате Microsoft Visual Basic.

Този проблем възниква, когато едно от следните платформи е зададена във вашия проект:

  • Microsoft .NET Framework 4.5 и .NET за приложения в магазина на Windows

  • .NET Framework 4.5 и Windows Phone 8

  • .NET Framework 4.5, .NET за приложения в магазина на Windows и Windows Phone 8


Заобикаляне на проблема

За да заобиколите този проблем, fix дизайнер генерират кода на файла ресурси. За да направите това, щракнете двукратно върху съобщението за грешка и след това изпълнете следните стъпки:

За Visual C#

  1. Добавете следните използване директива:

    using System.Reflection;
  2. Намерете следния код:

    typeof(Resource1).Assembly

    Този код се заменя със следния код:

    typeof(Resource1).GetTypeInfo().Assembly

Следният код е пример, който има този проблем:

        /// <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. Добавете следните използване директива:

    Imports System.Reflection;
  2. Намерете следния код:

    GetType(Resource1).Assembly

    Този код се заменя със следния код:

    GetType(Resource1).GetTypeInfo().Assembly

Следният код е пример, който има този проблем:

        '''<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


Проблем 2

Симптоми

Не можете да използвате ресурси за изграждане на преносим библиотека за клас проект след инсталиране на Visual Studio 2012 актуализация 2. Освен това можете да получите едно от много различни съобщения за грешка. Например можете да получите едно от следните съобщения за грешка:

Тип "System.Net.HttpStatusCode" е дефинирано в събрание, който не е посочен. Трябва да добавите препратка към събрание "System.Net, версия = 2.0.5.0, култура = неутрален, PublicKeyToken = 7cec85d7bea7798e, Retargetable = да.


Мълчаливо не конвертирате тип "System.Net.HttpStatusCode" в "System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll] "


Забележка този проблем възниква, когато едно от следните платформи е зададена във вашия проект:

  • .NET Framework 4.5 и Windows Phone 8

  • .NET Framework 4.5, .NET за приложения в магазина на Windows и Windows Phone 8


Причина

Този проблем възниква, тъй като Visual Studio 2012 актуализация 2 е инсталирана след инсталирането на Windows Phone Софтуерен развоен пакет (SDK) 8.0. Затова са били изтрити следните файлове:

  • %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


Заобикаляне на проблема

За да разрешите този проблем, стартирайте програма на Visual Studio 2012 ремонт. За да направите това, изпълнете следните стъпки:

  1. Щракнете върху Старт, Контроленпанел, щракнете върху програмии щракнете върху програми и компоненти.

  2. Щракнете с десния бутон на версия на Visual Studio 2012, която сте инсталирали и щракнете върху Промяна.

  3. Щракнете върху поправка при Visual Studio 2012 съветник за инсталиране.

Забележка Ако създавате нова среда за разработчици, за да избегнете този проблем, трябва да инсталирате Visual Studio 2012 актуализация 2 преди да инсталирате Windows Phone 8.0 SDK.

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×