在Azure云服务中支持.net 4.6或更高版本

时间:2018-07-05 20:44:02

标签: .net azure azure-cloud-services

我有我正在使用azure sdk 2.9的云服务。它包含多个csproj文件。其中一个项目,我想迁移到.net版本4.6

当我升级项目并尝试部署服务时,出现错误,因为“ Microsoft Azure Cloud Service项目仅支持在.NET Framework 4.0和4.5版上运行的角色”

我在Internet上阅读到,如果该服务使用Azure sdk 2.9,应该不会出现此错误,但是我无法在线找到任何帮助,因此我将在此发布此问题。

2 个答案:

答案 0 :(得分:5)

要使用.NET 4.6,您需要确保您的云服务正在使用最新的osFamily

osFamily版本5安装了以下.NET Framework:

  

4.0、4.5、4.5.1、4.5.2、4.6、4.6.1、4.6.2

您可以在ServiceConfiguration中进行设置:

<ServiceConfiguration 
    serviceName="MyService" 
    osFamily="5" 
    osVersion="*">

    <!-- your role definitions in here -->

</ServiceConfiguration>

请参阅完整的参考文档:Azure Guest OS releases and SDK compatibility matrix

答案 1 :(得分:1)

下面的技巧。需要将其添加到ccproj文件的底部。

<ItemGroup>
    <WindowsAzureFrameworkMoniker Include=".NETFramework,Version=v4.8" />
</ItemGroup>
<Target Name="ValidateRoleTargetFramework" Outputs="%(RoleReference.Identity)" Condition="'@(RoleReference)' != ''">
    <PropertyGroup>
        <_RoleTargetFramework>%(RoleReference.RoleTargetFramework)</_RoleTargetFramework>
        <_IsValidRoleTargetFramework>True</_IsValidRoleTargetFramework>
    </PropertyGroup>
</Target>