运行使用System.IO.Compression.ZipFile.Open
一个.net 4.6.1单元测试时,我收到以下异常,如果单元测试项目引用.NET标准2.0装配:缺少方法异常时引用的.Net标准项目从.net 4.6.1单元测试
System.MissingMethodException: Method not found: 'System.IO.Compression.ZipArchive System.IO.Compression.ZipFile.Open(System.String, System.IO.Compression.ZipArchiveMode)'.
at UnitTestProject.UnitTest1.TestMethod1()
单元测试项目使用VS 2017年单元测试项目(而不是.NET的核心之一)创建并引用添加到System.IO.Compression.FileSystem
和我的标准类库:
using System.IO.Compression;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
string zipfilename = "C:\\temp\\out.zip";
using (ZipArchive zipArchive = ZipFile.Open(zipfilename, ZipArchiveMode.Read)) { }
}
}
.net标准类图书馆是一个简单的单类的没有方法:
namespace StandardClassLib
{
public static class Zipper
{ // Class is empty.
}
}
我获得Visual Studio和命令行使用vstest.console.exe
使用测试资源管理器相同的错误。
请注意,此行为仅表现出自身的单元测试项目,控制台应用程序正常工作。
谁能帮我明白这是为什么不工作和解决方法对这个问题(如果可能的话)?