運行使用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
使用測試資源管理器相同的錯誤。
請注意,此行爲僅表現出自身的單元測試項目,控制檯應用程序正常工作。
誰能幫我明白這是爲什麼不工作和解決方法對這個問題(如果可能的話)?