运行时的 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"的值修改为:

  1. "Multi-threaded Debug (/MTd)" 用于 "Debug" 配置

  2. "Multi-threaded (/MT)" 用于 "Release" 配置

感谢您的回答。 最后我添加到我的部署包依赖项:

  • vcredist_2013_runtime_x64
  • vcredist_2013_runtime_x86

来自微软官网

而且效果很好 =)