我将我的项目升级到使用Automapper 3.0.0,现在我的TFS构建未成功。错误如下:
"...System.PlatformNotSupportedException: System.PlatformNotSupportedException: This type is not supported on this platform IMapperRegistry."
有没有人能帮助我解决这个问题。 同时,我将回滚到之前的版本,因为那个版本似乎工作正常。
我将我的项目升级到使用Automapper 3.0.0,现在我的TFS构建未成功。错误如下:
"...System.PlatformNotSupportedException: System.PlatformNotSupportedException: This type is not supported on this platform IMapperRegistry."
有没有人能帮助我解决这个问题。 同时,我将回滚到之前的版本,因为那个版本似乎工作正常。
var useless = new ListSourceMapper()
将这段代码添加到所有项目共享的项目中,对我们来说解决了问题。放置这行代码的位置可能有所不同。
请确保在应用程序中添加对AutoMapper和AutoMapper.Net4程序集的引用(或添加NuGet软件包引用)。 Visual Studio有一个问题,它不会复制它认为没有使用的引用。
例如,如果您有以下项目: - 核心 - 用户界面
并且核心引用了AutoMapper,请确保在UI中也添加对这两个程序集的引用。 NuGet会自动执行此操作,但是MSBuild将不会将所有引用从Core复制到UI。最简单的方法是在UI中添加AutoMapper软件包引用。
我曾经遇到过一些mstest集成测试的问题。
我建议您在测试类上使用DeploymentItem属性,而不是直接在代码中引用。例如,这就是我的做法:
[TestClass]
[DeploymentItem("Unity.config")]
[DeploymentItem("EntityFramework.SqlServer.dll")]
**[DeploymentItem("AutoMapper.Net4.dll")]**
public class MyFancyIntegrationTests
{
对我来说,升级到AutoMapper 3.1.1解决了这个问题。
Update-Package AutoMapper -Version 3.1.1
我在使用Team City运行MSTEST时遇到了同样的问题,但没有找到解决方法。
后来发现我需要使用Visual Studio测试运行器。
我在这篇博客文章中找到了更多信息。
在Team City 8.1中,有一个用于VSTest.Console测试的构建步骤。
这对我很有效。我不需要使用上面博客中的PowerShell脚本。