.net - studio - Errores de compilación cuando se hace multi-targeting en el archivo csproj
visual studio installer (1)
Estoy tratando de construir una biblioteca de clases que tenga múltiples objetivos tanto .NET 4.5.1 como .NET Standard 1.3. Según la documentación , debería poder hacer esto:
<PropertyGroup>
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
</PropertyGroup>
Sin embargo, cuando intento construir, obtengo estos errores impares:
No se puede inferir TargetFrameworkIdentifier y / o TargetFrameworkVersion desde TargetFramework = ''net451''. Deben especificarse explícitamente.
No se encontró el Service Pack 1 de MSB3645 .NET Framework v3.5. Para apuntar ".NETFramework, Version = v1.3", se debe instalar .NET Framework v3.5 Service Pack 1 o posterior.
MSB3644 No se encontraron los ensamblajes de referencia para el marco ".NETFramework, Version = v1.3". Para resolver esto, instale el SDK o Targeting Pack para esta versión de marco o vuelva a dirigir su aplicación a una versión del marco para el cual tiene instalado el SDK o Targeting Pack. Tenga en cuenta que los ensamblajes se resolverán desde la memoria caché de ensamblados global (GAC) y se utilizarán en lugar de los ensamblajes de referencia. Por lo tanto, es posible que su ensamblaje no esté correctamente orientado para el marco que desea.
Si especifico los identificadores del marco de destino manualmente, se compila bien:
<PropertyGroup>
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="''$(TargetFramework)'' == ''net451''">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
</PropertyGroup>
<PropertyGroup Condition="''$(TargetFramework)'' == ''netstandard1.3''">
<TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>
</PropertyGroup>
Estoy usando Visual Studio 2017 Community. ¿Estoy haciendo algo mal aquí?
¿Definitivamente has escrito <TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
y no <TargetFramework>net451;netstandard1.3</TargetFramework>
?
Recibí el mismo error hasta que agregué la s
perdida