运行时的 C++ CLR 依赖
C++ CLR Dependency in runtime
我使用 C++\CLR 开发了应用程序来单元托管 (C#) 和非托管 (Visual C++) 项目。现在在我的电脑上它运行良好,但在没有 Visual Studio 的电脑上它无法加载这个 DLL(C++\CLR 项目)。但是如果我安装 Visual Studio 它就可以了。
所以我请你帮我了解我需要安装什么依赖项来清理 PC。
当然安装了 .Net Framework。
在我的项目中,我接下来使用的包括:
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <vcclr.h>
#include <vector>
using namespace System;
using namespace std;
平台工具 Visual Studio 2013.
stdafx.h 为空。
我认为我还需要 windows 平台 SDK。但我不确定。
我试图搜索但没有找到答案。可以的话请帮忙
正如@Hans Passant 在评论中提到的那样,发生这种情况是因为
你依赖于 C 运行time 库。你可以使用汉斯的方法
建议复制运行时间库的dll,或者你可以更改运行时间
您要链接到的库(这将允许您 运行 在
不同的机器而无需复制msvcr120.dll
)。去做这个,
打开 VS 项目的 属性 页面,转到 "C/C++" -> "Code Generation"
并将"Runtime Library"的值修改为:
"Multi-threaded Debug (/MTd)" 用于 "Debug" 配置
"Multi-threaded (/MT)" 用于 "Release" 配置
感谢您的回答。
最后我添加到我的部署包依赖项:
- vcredist_2013_runtime_x64
- vcredist_2013_runtime_x86
来自微软官网
而且效果很好 =)
我使用 C++\CLR 开发了应用程序来单元托管 (C#) 和非托管 (Visual C++) 项目。现在在我的电脑上它运行良好,但在没有 Visual Studio 的电脑上它无法加载这个 DLL(C++\CLR 项目)。但是如果我安装 Visual Studio 它就可以了。
所以我请你帮我了解我需要安装什么依赖项来清理 PC。 当然安装了 .Net Framework。
在我的项目中,我接下来使用的包括:
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <vcclr.h>
#include <vector>
using namespace System;
using namespace std;
平台工具 Visual Studio 2013.
stdafx.h 为空。
我认为我还需要 windows 平台 SDK。但我不确定。 我试图搜索但没有找到答案。可以的话请帮忙
正如@Hans Passant 在评论中提到的那样,发生这种情况是因为
你依赖于 C 运行time 库。你可以使用汉斯的方法
建议复制运行时间库的dll,或者你可以更改运行时间
您要链接到的库(这将允许您 运行 在
不同的机器而无需复制msvcr120.dll
)。去做这个,
打开 VS 项目的 属性 页面,转到 "C/C++" -> "Code Generation"
并将"Runtime Library"的值修改为:
"Multi-threaded Debug (/MTd)" 用于 "Debug" 配置
"Multi-threaded (/MT)" 用于 "Release" 配置
感谢您的回答。 最后我添加到我的部署包依赖项:
- vcredist_2013_runtime_x64
- vcredist_2013_runtime_x86
来自微软官网
而且效果很好 =)