gpt4 book ai didi

c# - 让 C# 和 C++ 一起玩得很好

转载 作者:行者123 更新时间:2023-11-30 01:59:48 25 4
gpt4 key购买 nike

我有一个通过 COM 访问 c++ 项目的 c# 解决方案。该项目必须针对特定处理器,在本例中为 x64。我正在使用 Windows 安装程序来安装应用程序。

我遇到的第一个问题是安装时没有正确注册c++ dll,程序无法访问它。我通过将 c++ 项目添加到解决方案中解决了这个问题。

有一段时间这行得通,一切都安装正确,但后来我在尝试构建时开始收到以下警告:

The target version of the .NET Framework in the project does not match the .NET Framework launch condition version '.NET Framework 3.5'. Update the version of the .NET Framework launch condition to match the target version of the.NET Framework in the Advanced Compile Options Dialog Box (VB) or the Application Page (C#, F#).

如果我试图忽略警告,安装程序将不会安装。经过一番搜索,我发现 c++ 项目是在 .NET 4.0 中构建的,而我的解决方案使用的是 .NET 3.5。我尝试将我的解决方案更改为 4.0,但由于某种原因它停止工作,所以我将 c++ 更改为 3.5。

这适用于几个构建,但随后我开始收到以下错误:

Error: LNK1104 cannot open file 'mfc90.dll'. 

我将文件添加到附加依赖项部分,但随后发生另一个链接错误 (mfcs90.dll),添加该错误时,我遇到了 x86 x64 冲突。

我不确定为什么这些解决方案工作了一段时间然后就停止了,而且我似乎无法在任何有效的步骤中找到解决方案。如果有人看到过与此类似的内容,将不胜感激。

最佳答案

为了包含 Microsoft 运行时 dll,您不应简单地将 dll 包含在您的应用程序目录中。当 dll 具有各种依赖关系并且您可能会遇到不同的冲突和版本控制问题时,这将无济于事。

我建议为您的应用程序安装运行时 dll 的方法是在您的 MSI 中包含官方合并模块。

有关重新分发运行时库的选项,请参阅以下链接:

http://msdn.microsoft.com/en-us/library/ms235316(v=vs.90).aspx

关于c# - 让 C# 和 C++ 一起玩得很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com