Я создал C++ * .dll в VS 2013. Это отлично работает на моей машине разработки, однако это вызывает ошибку при запуске на клиентской машине.Невозможно загрузить проблему библиотеки с внешними зависимостями
Вот файл каст.
#include "stdafx.h"
#include "EasyDLL.h"
using namespace System;
double WINEXPORT EASYDLL_GetServerDateTime(int clientServerTimeDiff)
{
System::DateTime clientDateTime = System::DateTime::Now;
System::TimeSpan duration(0, 0, clientServerTimeDiff);
System::DateTime serverDateTime = clientDateTime.Add(duration);
String^ strTemp = serverDateTime.ToString("yyyyMMddHHmmss");
double result = double::Parse(strTemp);
return result;
}
Я считаю, что причина в том, что внешние зависимости не существуют на машине клиента.
У меня нет большого опыта работы с C++.
Свинец до вопроса:
При компиляции (и я просто компиляция в отлаживать на данный момент), есть целая куча файлов заголовков в зависимости от внешних и длл (mscorlib.dll).
Файл mscorlib.dll существует на том же месте на клиентской машине, поэтому я отношусь к дисконтированию как к проблеме, но заголовки не существуют.
Вопрос:
Нужно ли отправлять эти заголовки с помощью dll, которые я создал, или они должны быть скомпилированы в мою dll?
Вот скриншот некоторых внешних зависимостей. Большинство из них, по-видимому, находятся в проекте по умолчанию, когда проект был создан.
EDIT:
После изменения проекта, чтобы выпустить это, кажется, работает на другом компьютере, а также мой Dev машины, необходимо дождаться, чтобы завтра, чтобы проверить на клиента.
Несмотря на то, что он работал до сих пор, я проверил DependencyWalker и получил следующее, глядя на мою dll, это что-то, о чем можно беспокоиться?
Проблема заключается в том, что вы строите отладочную сборку, а на другой машине, которую вы используете, не имеет отладочной версии установленной среды выполнения? –
Создайте версию выпуска. Запустите 'depend.exe' на выходе, чтобы узнать, каковы ваши внешние зависимости. Если ваша DLL проста и не обменивает владельца указателей кучи со своим вызывающим абонентом, тогда просто установите проект для статической сборки на ЭЛТ. –
Привет Энди, где бы я нашел depend.exe? – Hank