Я пытался протестировать драйвер POS, написанного на C #, для которого требуется .NET 3.5.Я использую NUnit для VS17, потому что у меня есть код консольного приложения, написанный на C # с некоторым функциональным тестом драйвера.
Он работает хорошо, но когда я пытаюсь вызвать тот же метод из NUnit, возникает исключение.
Это рабочий код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FiscalReceipt.Library;
namespace FiscalReceiptMain
{
class Program
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Setting [STAThread] ");
FiscalReceipt.Library.FiscalReceipt mc = new FiscalReceipt.Library.FiscalReceipt();
int output = mc.testFiscalReceiptClass();
Console.WriteLine("Number of exception = {0}", output);
System.Environment.Exit(0);
}
}
}
Проблема, конечно, внутри testFiscalReceiptClass
:
namespace FiscalReceipt.Library
{
public class FiscalReceipt
{
private PosExplorer posExplorer;
private PosCommon posCommonFP;
// Exception counter
public static int NumExceptions = 0;
public FiscalReceipt()
{
posExplorer = null;
posCommonFP = null;
}
// Method to test the original FiscalReceiptClass
public int testFiscalReceiptClass()
{
try
{
// Console.WriteLine("Initializing PosExplorer ");
posExplorer = new PosExplorer();
}
catch (Exception e)
{
// ...
}
}
}
}
Если я создаю posExplorer
объект из консолиВ приложении нет проблем, но когда я пытаюсь отладить NUnit, возникает исключение:
{"Инициализатор типа 'Microsoft.PointOfService.Management.Explorer' вызвал исключение."} InnerException {"ЭтоМетод явно использует политики безопасности из устаревшего доступа к коду в .NET Framework. Чтобы включить политику безопасности из доступа к коду в целях совместимости, используйте параметр конфигурации NetFx40_LegacySecurityPolicy. Для получения дополнительной информации см. http://go.microsoft.com/fwlink/?LinkID=155570. "} System.Exception {System.NotSupportedException}
Кажется, что Nunit - это 64-битная библиотека, котораяЭто несовместимо с моей DLL.Я потратил более 24 рабочих часов, чтобы попробовать много решений, но сейчас я заблокирован.
Предложения?