有没有办法如何运行具有针对.netstandard2.0的辅助角色的Azure Cloud Service Classic项目?
我有这样的项目,但是每当我尝试构建它时,我都会收到此错误:
严重级代码描述项目文件行抑制状态 错误项目 ' C:\路径\为\项目的\ src \前端\ Frontend.csproj' 目标' .NETStandard,版本= v2.0'。它不能被引用 目标项目 ' .NETFramework,版本= 4.0版&#39 ;. UserDiscoveryService C:\ Program Files \ dotnet \ sdk \ 2.0.2 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.Common.targets 87
我试图在ccproj中设置目标框架,但它没有帮助我。
答案 0 :(得分:4)
以防万一其他人遇到此错误,我通过将以下行添加到云服务.ccproj文件的Project / PropertyGroup部分中来解决了此错误:
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
例如
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>2.9</ProductVersion>
<ProjectGuid>8c99xxxx-xxxx-xxxx-xxxx-xxxxxxxx273e</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MyCloudService</RootNamespace>
<AssemblyName>MyCloudService</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <!-- Added -->
<StartDevelopmentStorage>True</StartDevelopmentStorage>
<Name>CloudSheetCloudService</Name>
etc...
默认情况下,云服务项目未指定框架(不需要),但是MSBuild中的某些内容似乎正在云服务和Web /辅助角色之间进行版本检查,然后使构建失败。 / p>
更改工具版本无济于事。
作为背景-我有一个旧的云服务,该服务引用了使用新的csproj样式的4.6.2项目,如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
</PropertyGroup>
</Project>
HTH。 马克。
编辑:要编辑的文件是.ccproj,而不是前面所述的.cproj文件。
答案 1 :(得分:0)
严重级代码说明项目文件行抑制状态错误项目&#39; C:\ path \ to \ project \ src \ Frontend \ Frontend.csproj&#39;目标&#39; .NETStandard,版本= v2.0&#39;。它不能被针对.NETFramework,Version = v4.0&#39;的项目引用。
根据错误,您的.NETStandard 2.0
项目目标{{1}},并且您从一个面向.NETFramework V4.0的项目中引用了.NETStandard 2.0项目。作为有关.NET Standard的官方文档,您至少需要使您的项目以.NETFramework V4.6.1为目标,以引用.NETStandard 2.0项目或库。或者您需要选择较低的.NET标准版本,您需要遵循.NET implementation support更多详细信息。