我有我正在使用azure sdk 2.9的云服务。它包含多个csproj文件。其中一个项目,我想迁移到.net版本4.6
当我升级项目并尝试部署服务时,出现错误,因为“ Microsoft Azure Cloud Service项目仅支持在.NET Framework 4.0和4.5版上运行的角色”
我在Internet上阅读到,如果该服务使用Azure sdk 2.9,应该不会出现此错误,但是我无法在线找到任何帮助,因此我将在此发布此问题。
答案 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>