Automapper 3.0: este tipo no es compatible con esta plataforma IMapperRegistry
notsupportedexception automapper-3 (5)
Actualicé mi proyecto para usar Automapper 3.0.0 y ahora mi compilación TFS no está teniendo éxito. El error es el siguiente:
" ... System.PlatformNotSupportedException: System.PlatformNotSupportedException: este tipo no es compatible con esta plataforma IMapperRegistry " .
¿Hay alguien que pueda ayudarme a resolver este problema? Mientras tanto, voy a volver a la versión anterior, ya que parece funcionar bien.
Asegúrese de agregar una referencia (o agregar una referencia de paquete NuGet) en su aplicación a AutoMapper y al ensamblado AutoMapper.Net4 en su aplicación principal. Visual Studio tiene un problema al copiar referencias que no copiará referencias que no cree que se estén utilizando.
Por ejemplo, si tiene proyectos: - Núcleo - UI
Y Core hace referencia a AutoMapper, asegúrese de agregar una referencia en la IU también a AMBOS ensambles. NuGet hace esto automáticamente, pero MSBuild NO copiará todas las referencias de Core a UI. La forma más sencilla de solucionar esto es simplemente agregar la referencia del paquete AutoMapper en la interfaz de usuario.
La actualización a AutoMapper 3.1.1 solucionó este problema para mí
Update-Package AutoMapper -Version 3.1.1
Tuve el mismo problema al usar Team City para ejecutar MSTEST y no encontré ninguna resolución.
Resulta que necesitaba usar el Visual Studio Test Runner .
Encontré más información en esta publicación de blog .
En Team City 8.1 hay un paso de compilación para VSTest.Console Tests.
Esto funcionó para mí. No necesité usar el script de PowerShell en el blog anterior.
Tuve el mismo problema con algunas pruebas de integración mstest que creé.
Yo recomendaría usar el atributo DeploymentItem en su clase de prueba en lugar de una referencia directa en el código. Por ejemplo, esto es lo que tengo:
[TestClass]
[DeploymentItem("Unity.config")]
[DeploymentItem("EntityFramework.SqlServer.dll")]
**[DeploymentItem("AutoMapper.Net4.dll")]**
public class MyFancyIntegrationTests
{
También necesita agregar una referencia, como se mencionó anteriormente, usando nuget, para automatpper en su proyecto de prueba.
Para solucionar este problema, vea el directorio bin de su proyecto mstest. Debería ver Automapper.dll y AutoMapper.Net4.dll si tiene Automapper referenciado en el proyecto. Antes de agregar el atributo DemploymentItem a su clase de prueba, no verá AutoMapper.Net4.dll en su carpeta TestResults [MyLatestTestRun]. Pero agrega el atributo y lo harás.
MSTest no funciona bien con inyección ...
Tuvimos el mismo problema en nuestro servidor de compilación. MsTest pareció eliminar las DLL que consideró innecesarias (nota: esta afirmación es solo una suposición educada). Para solucionarlo, agregue una llamada explícita a algo en AutoMapper.Net4.dll. Por ejemplo, con la clase ListSourceMapper:
var useless = new ListSourceMapper()
Agregando esto a un proyecto que es compartido por todos los otros proyectos, lo solucionó por nosotros. Dónde poner esta línea de código puede variar.