【问题标题】:Why is Azure Add > Worker role project in solution … greyed out in VS2010?为什么 Azure Add > Worker role project in solution … 在 VS2010 中显示为灰色?
【发布时间】:2012-06-05 11:50:15
【问题描述】:

我有一个 C# .Net 4 类库,我认为我已将其设置为 Azure Worker Role,即该类实现 Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint 并具有 Run() 和 OnStart() 方法。但是,当我右键单击我的空 Windows Azure 项目中的角色文件夹并单击添加选项以添加“解决方案中的工作者角色项目......”时,它是灰色的。我需要为 VS2010 做些什么才能意识到解决方案中存在潜在的工人角色项目?

【问题讨论】:

    标签: visual-studio-2010 azure azure-worker-roles


    【解决方案1】:

    Add > Worker Role Project in solution...”仅显示辅助角色项目而非类库。尽管它们看起来一样,但它们并不相同。

    您可以使用以下方法创建工作者角色项目:

    • 创建新的云项目时

    • 通过右键单击云项目

    然后,您可以根据需要将该工作人员角色项目添加到其他云项目中。在这种情况下,将启用“Add > Worker Role Project in solution...”菜单选项。

    现在,您还可以将类库“转换”为辅助角色项目。右键单击类库并选择 Unload Project .. 然后(一旦卸载),Edit Project File 并在第一个中添加 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>
    

    最后 - 将项目重新加载到解决方案中 -> 右键单击​​ Reload Project。 (注意:如果 Xml 文件仍然打开,您会被要求关闭它。这是完美的。说是并关闭它)。 .. 现在您的类库已重新添加回来,但它是一个工作者角色类库

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

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

    【讨论】:

    • 有趣的是,当我右键单击类库时没有“编辑项目文件”,但在记事本中编辑它很简单。
    • 抱歉,这个按钮可能只能通过 VS 扩展(VSCommands、PowerCommands 或 Productivity Power Tools)使用。在这种情况下,在记事本中编辑也是一个有效的解决方案。
    • 您可以“卸载项目”,然后右键单击已卸载的项目进行编辑。
    • Solid Sandrino,非常感谢,在 proj 文件中添加了 RoleType 标签,它就像一个冠军。
    • Perfect @SandrinoDiMattia :) 刚刚将卸载项目的内容添加到答案中。
    猜你喜欢
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多