Robert Giesecke UnmanagedExports, проверка мусорной корзины не удалась

Я использовал популярный шаблон Роберта Гизеке для неуправляемого экспорта, чтобы создать DLL для использования из собственного кода.

На самом деле это должно быть очень просто, потому что нужно только адаптировать данную функцию примера. Сборка работает, но эта команда не показывает мне никакой функции:

$ dumpbin.exe /exports <mydllname>.dll

Моя экспортированная функция выглядит так:

using RGiesecke.DllExport;

namespace HelloWorld
{
   internal static class UnmanagedExports
   {
       [DllExport("_adddays", CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl)]
       static double AddDays(double dateValue, int days)
       {
          return System.DateTime.FromOADate(dateValue).AddDays(days).ToOADate(); 
       }
   }
}

Кто-нибудь знает, что я делаю неправильно? Буду очень рад любой помощи.

К вашему сведению: я использую VS 2012, .NET-Framework 4.5, использовал шаблон проекта библиотеки классов. Я уже пытался изменить целевую платформу на x86 (рекомендуется в других постах), но не помогло.


person LM358    schedule 26.08.2016    source источник
comment
Инструмент имеет сильную способность полностью не выполнять свою работу без какой-либо диагностики. Вы должны установить Project › Properties › вкладку Build › Platform target на что-то другое, кроме AnyCPU, выберите x86 или x64. В некотором смысле ему нужно знать, какую разновидность неуправляемого кода генерировать. И я счел необходимым запустить VS с повышенными правами, чтобы заставить его вести себя, я понятия не имею, почему это необходимо. Учитывая довольно плохую диагностику, которая создается, когда управляемый код выдает исключение, я пришел к выводу, что ее недостаточно для использования. Учтите это.   -  person Hans Passant    schedule 26.08.2016
comment
Спасибо за ответ. Но я уже установил целевую платформу x86 и даже запустил VS от имени администратора (если вы имеете в виду это под «повышенными правами»). Оба ничего не изменили для меня.   -  person LM358    schedule 26.08.2016