问题标签 [side-by-side]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Howto:多个版本的 msvcrt9 作为私有 SxS 程序集?
我有一个包含预构建 Dll 模块的项目,该模块是在过去一段时间内使用 Visual Studio 9 构建的。
现在使用 Visual Studio 9 的 SP1 构建项目的 EXE。
当我们部署 EXE 时,我们不希望需要管理访问权限,因此 C-Runtime 已捆绑到应用程序的根目录中。Dll:MSVCRT90.DLL 及其清单:Microsoft.VC90.CRT.manifest
现在,运行时清单的 EXE 和最新版本都一致了 - 应用程序清单要求 msvcrt.dll 的 9.0.30729.1,crt-manifest 包含确认 msvcrt90.dll 版本为 9.0.30729.1 的条目
现在,一个问题。我们的应用程序使用的第 3 方 DLL 库与原始 msvcrt90.dll 版本 9.0.21022.8 相关联,并且具有此效果的内部清单。
在我们安装了两个版本的 VS9 CRuntime 的开发 PC 上,该应用程序可以正常工作。在我们首次安装应用程序的“新”PC 上 - DLL 无法加载。
现在,我可以做一些作弊 - 一个是将应用程序恢复到 9.0.2 - 从原始源媒体中获取 9.0.2 DLL。这是不可取的,因为 9.0.3 更可取。或者我非常努力地重建第 3 方库。
我还非常确定,在我们的开发 PC 上,当第 3 方库请求旧 dll 时,它会被重定向到新 dll - 它们是二进制兼容的。
应用程序清单和程序集旨在将我们所有人从这种垃圾中拯救出来。必须可以编辑程序集清单文件,以便 exe 和 dll 都可以加载。
.net - 如何定位特定版本的 C++ 运行时?
我们有一个非常大的项目,主要是用 C# 编写的,其中有一些用 C++ 编写的小而重要的组件。我们将 .NET 2.0 的 RTM 定位为所需的最低版本。到目前为止,为了满足这个要求,我们确保在我们的构建框中只有 .NET 2.0 的 RTM,以便 C++ 片段链接到该版本。
更新:导致问题的 C++ 程序集是将混合模式 C++ 程序集加载到托管进程中。
不幸的是,当 confiker 准备在 4 月 1 日做某事时,我们的公司 IT 大力推动所有内容都被打上补丁和更新,结果直到 3.5 SP1 的所有内容都安装在构建盒上。我们已经尝试卸载之前发生的所有内容,但现在我们无法满足我们的最低要求,因为在该特定机器上构建的任何内容都需要 .NET 2.0 SP1。
由于盒子似乎已经被冲洗掉了,我们不能只卸载有问题的版本,有没有办法构建程序集并明确告诉他们使用 .NET 2.0(即 v2.0.50727.42)的 RTM?我已经看到有关使用清单的页面,但我无法弄清楚如何实际实现正确的清单并将其放入程序集中。我的专长是管理世界,所以我对此有点茫然。
谁能解释我如何使这些程序集以 .NET 2.0 RTM SxS 程序集为目标?
谢谢!
ruby - 红宝石openssl.so:14001错误
尝试运行我编写的简单 ruby 程序时,出现此错误。前几天刚刚重新安装了所有东西,在代码工作正常之前。
ruby/1.8/i386-mswin32/openssl.so:14001:应用程序无法启动,因为它的并排配置不正确。请参阅应用程序事件日志以获取更多详细信息。- C:/ruby/lib/ruby/1.8/i386-mswin32/openssl.so(加载错误)
应用程序事件日志:“C:\ruby\bin\SSLEAY32.dll”的激活上下文生成失败。相关程序集 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" 找不到。请使用 sxstrace.exe 进行详细诊断。
.net - 是否有任何 .NET Framework 3.5 推出注意事项?
将 .NET 框架 3.5 部署到当前托管大约 20 个 .NET 框架 2.0 应用程序的生产应用程序服务器上时,我应该注意什么级别?
我对将 .NET 框架 3.5 部署到我们的环境中的请求遇到了阻力。我们没有能力自信地进行回归测试,也没有可用资源自信地测试每个应用程序。
据我了解,作为主要设计目标,.NET 框架 XX 的构建和证明允许将 1.0、1.2、2、3、3.5 等部署在同一台机器上,并且高度确信它们之间的相互作用这些版本不会破坏早期版本。
我试图找到 IT 社区中报告的“重大更改”,到目前为止发现的示例非常少,因此我倾向于以最少的测试来推动这个运行时的推出。
在这种情况下,您对这种推出 .NET 3.5 的方法的预先担忧程度如何?
windows - 调试构建应用程序定位发布 CRT 程序集
我们有一个 c++ 应用程序,我最近从 Linux/gcc 移植到使用 Visual Studio 2005 在 Windows 上构建。该应用程序使用第 3 方库,该库仅提供使用优化的 CRT DLL 的 DLL(即它们不提供链接到调试 CRT DLL)。对于 VS2005,这似乎不是问题 = 调试版本在 System32 目录中找到了优化的 CRT DLL。
我现在正在尝试使用 VS2008 构建和运行我们的应用程序,但调试构建无法运行,因为它找不到优化的 CRT DLL (msvc690.dll)。VC9 CRT DLL 被隐藏在具有 GUID 样式名称的目录中 - 我相信这是一个并行程序集,应用程序应该使用应用程序的清单来定位它。但是,在应用程序 exe 中构建和嵌入的清单仅指定调试 CRT 程序集:
我不是 Windows 专家(至少不再是),所以这对我来说是全新的。这里的正确解决方案是什么?我需要告诉清单编译器将优化的 CRT DLL 添加到程序集中吗?如果是这样,我该怎么做?
.net - 什么是并行程序集?
今天,我在尝试将调试安装集安装到测试机器时,第一次遇到了并行程序集。我最终做到了,但留下了几个问题:
- 什么是并排组件?
- Windows 如何以不同于其他程序集的方式处理这些程序集
- 依赖于并排程序集的应用程序如何以不同于普通程序集的方式处理这些问题
- 在什么情况下可能有人想要创建一个并排程序集?
visual-studio-2005 - 并行程序集、Windows 7 和 Visual Studio 2005
我有一台安装了 Visual Studio 2005 SP1 的 Windows 7 机器。使用它,我构建了一个应用程序,它在运行时加载一个使用 VS2005 SP1 但在 Windows XP 上编译的 DLL。这失败了,出现以下错误:
“...\foo.dll”:应用程序无法启动,因为它的并排配置不正确。请查看应用程序事件日志或使用命令行 sxstrace.exe 工具了解更多详细信息。
加载的 DLL 是针对调试 CRT 编译的。此问题的答案暗示 vcredist_x86.exe 仅包含 CRT 的发布版本。我不确定这在这种情况下是否相关,因为我的机器和编译 DLL 的机器都安装了完整的 VS2005 SP1。
我是否应该尝试在 Windows 7 上重建 DLL(我不想这样做),这是否会导致 DLL 在 Windows XP 机器上变得不可用?
msvcrt - 并排配置错误 (Microsoft.VC80.CRT v8.0.50608.0)
我有一个嵌入了以下清单的程序集:
在我的一台机器上,这个程序集不起作用(程序集无法加载)。在依赖walker中打开它会给我以下错误消息:
相同的程序集在另一台机器上运行良好,并且依赖 walker 没有错误。
据我所知,问题是由于第一台机器缺少某种依赖项(例如 MSVCR 可再发行组件),但是我已经检查过了,Microsoft Visual C++ 2005 Redistributable 在两台机器上都安装得很好。
我该如何弄清楚缺少的依赖项是什么?
我唯一注意到的是工作机器上的 WinSxS 目录有一个附加条目:
sql-server-2005 - 我可以在已经安装了 Sql Server 2005 的同一台机器上安装 Sql Server 2008
我的电脑上安装了 Sql Server 2005 Express,我也想安装 Sql Server 2008 Express。在进行此附加安装之前我应该考虑什么?
谢谢。bk
com - COM 组件的免注册激活
这个免费注册激活的例子在 VS2008 和 Windows Vista/7 中是否仍然有效? http://msdn.microsoft.com/en-us/library/ms973913.aspx
我无法让它工作。但是我能够使用隔离 COM 设置使嵌入式清单按我的意愿加载 OCX 文件。使用 regsvr32 注册也有效,因此清单中的某些内容不起作用。我相信 GUID 是正确的。