我遇到了MS Visual Studio(VS)升级的问题,应用程序需要c ++重新分发程序包,用于c#中带有c ++库的程序。
实际我们使用VS 2012,其中我需要来自其VS Redistributable软件包的2个文件(msvcp110.dll和msvcr110.dll),但是如果我尝试从VS 2017 c ++软件包中复制文件,则应用程序启动过程以异常结束其他电脑。
是否可以在不安装c ++ 2017 Redistributable软件包的情况下将应用程序移动到其他PC(没有VS)?这意味着只在其他PC上没有安装过程的情况下复制某些文件或其他一些操作。
我想避免在其他PC上运行安装过程,因为我们组织中的标准用户无法运行安装过程。
实施例: C#:
[DllImport(dllPath + "main.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
private static extern IntPtr Get_Default();
C ++:
#define NAG_CALL extern "C" __declspec(dllexport)
NAG_CALL const char *Get_Default(void)
{
static char *value = NULL;
if (value)
free(value);
return value = get_Default();
}
由于 卡雷尔