Использование Microsoft Fakes с модификатором 'extern' (DllImport) - PullRequest
0 голосов
/ 16 января 2020

В настоящее время у меня есть следующий класс и метод, который я хотел бы подделать (т.е. подделать класс / метод):

namespace Test
{
   internal static class TestClass
   {

      [DllImport("lib.dll", EntryPoint = "TestClass_Start", CallingConvention = CallingConvention.StdCall)]
      public static extern void Start();
   }
}

Я знаю, что класс является внутренним, поэтому я добавил InternalsVisibleTo и до сих пор все работает, кроме этого класса.

Я предполагаю, что вы не можете подделать внешние методы. В потоке из 2013 я обнаружил следующее:

Шиммирование внешних методов не поддерживается напрямую. Однако, если вы оберните метод extern с помощью обычных методов stati c [...], вы можете вместо этого использовать этот метод. мой вопрос другой. Я не смог найти другие источники, которые согласны с темой, и поэтому я спрашиваю:

Можете ли вы подобрать метод extern (DllImport) с Microsoft Fakes? Если нет, есть ли официальный источник, документирующий это? Если да, не могли бы вы привести пример?

...