为什么Azure Add> Worker角色项目在解决方案中......在VS2010中显示为灰色?

dum*_*dad 17 azure visual-studio-2010 azure-worker-roles

我有一个C#.Net 4类库,我认为我已经设置为Azure辅助角色,即该类实现Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint并具有Run()和OnStart()方法.但是,当我右键单击空的Windows Azure项目中的Roles文件夹并单击添加选项以添加"解决方案中的工作者角色项目..."时,将显示为灰色.我需要为VS2010做些什么来实现解决方案中潜在的工作角色项目?

在此输入图像描述

San*_*tia 30

" 解决方案中的添加>工作者角色项目... "仅显示工作者角色项目而不显示类库.即使它们看起来一样,但事实并非如此.

您可以使用以下命令创建辅助角色项目:

  • 创建新的云项目时

在此输入图像描述

  • 通过右键单击云项目

在此输入图像描述

然后,如果您愿意,您将能够在其他云项目中添加该工作者角色项目.在这种情况下,将启用" 在解决方案中添加>工作者角色项目... "菜单选项.

现在,您还可以将类库"转换"为辅助角色项目.右键单击类库并选择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>
Run Code Online (Sandbox Code Playgroud)

最后 - 将项目重新加载到解决方案中 - >右键单击" 重新加载项目".(注意:如果Xml文件仍然打开,你会被要求关闭它..这是完美的.说是并关闭它)...现在您的类库已重新添加,但它是一个Worker Role Class Library.

如果这样做,Visual Studio会将项目识别为辅助角色,您将能够将其添加到云项目中:

在此输入图像描述

注意:您的类库需要一个派生自RoleEntryPoint的类.更多信息:http://blogs.msdn.com/b/jnak/archive/2010/02/11/windows-azure-roleentrypoint-method-call-order.aspx