Ответ 1
" Добавить > Роль рабочего роли в решении..." отображает только рабочие роли-роли, а не библиотеки классов. Хотя они выглядят одинаково, они не являются.
Вы можете создать проект роли сотрудника, используя следующее:
- При создании нового облачного проекта
- Щелкнув правой кнопкой мыши по облачному проекту
Тогда вы сможете добавить этот проект роли сотрудника в другой облачный проект, если хотите. В этом случае параметр " Добавить > Рабочий роль ролей в решении..." будет включен.
Теперь вы также можете "преобразовать" библиотеку классов в проект роли пользователя. Щелкните правой кнопкой мыши библиотеку классов и выберите Unload Project.. затем (после разгрузки), Изменить файл проекта и добавьте элемент RoleType в первый группа свойств:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{7E9F972F-BE92-4CF7-998D-E76B61B21C37}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ClassLibrary1</RootNamespace>
<AssemblyName>ClassLibrary1</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<RoleType>Worker</RoleType> <-------------------- HERE
</PropertyGroup>
Наконец - перезагрузите проект обратно в решение → Щелкните правой кнопкой мыши Обновить проект. (ПРИМЕЧАНИЕ: если файл Xml все еще открыт, вас попросят закрыть его, что идеально. Скажите "да" и закройте его)... Теперь ваша библиотека классов была повторно добавлена, но это библиотека классов ролей рабочих.
Если вы это сделаете, Visual Studio распознает проект как роль рабочего, и вы сможете добавить его в проект облака:
Примечание.. В вашей библиотеке классов должен быть класс, полученный из RoleEntryPoint. Дополнительная информация: http://blogs.msdn.com/b/jnak/archive/2010/02/11/windows-azure-roleentrypoint-method-call-order.aspx