windows server 2008 上 VS 2008 中不支持的 rpcns4.dll 消息

Posted

技术标签:

【中文标题】windows server 2008 上 VS 2008 中不支持的 rpcns4.dll 消息【英文标题】:Unsupported rpcns4.dll messages in VS 2008 on windows server 2008 【发布时间】:2010-01-06 16:03:36 【问题描述】:

我一直在用 C++ 开发一个小型内部应用程序,以通过仅 Windows 的 API 访问来自供应商的数据。我在 Windows XP 上的 Visual Studio 2008 中开发了这个应用程序(实际上是在 Windows XP VM 中,但无论如何),并且在这个系统上测试它运行良好。 现在我正在部署到 Windows Server 2008 标准系统,如果我在该系统上以调试模式运行我的应用程序,调试输出除了常规内容外,还会列出几十行内容:

RPC:  Using rpcns4.dll.  The dll is no longer supported.

现在我不知道 RPC 如果它打到我的脸上,我肯定知道我为我的应用程序编写的代码远不及 RPC,所以我断定 RPC 的东西源自外部 API。 除了这条消息之外,该程序运行良好,所以这不是严重的问题,我只是好奇它的含义。而且我想知道它是否预示着我在不久的将来会遇到任何严重的问题。如果我在谷歌上搜索那个短语,我会找到 typical msdn page,但它并没有教给我太多关于这个问题的知识。

【问题讨论】:

【参考方案1】:

似乎这条运行时消息是从 Windows Vista 和更高版本机器上运行的 RPCLocator 服务发出的。该服务似乎只是为了确保需要该服务的遗留程序可以找到一些东西。 RPC 定位器,也称为 Windows 定位器,是在 Windows 2000 中引入的,并且在 Windows Vista 中删除了它的功能。现在它似乎所做的就是发出这些警告。如果我理解正确,那么使用 RPC 定位器的程序可能会在更高版本的 Windows 中停止工作。我不确定使用此服务提供的功能的程序是否无法在 Vista 及更高版本上运行。

在我的特定情况下,一些访问此服务的代码留在了我正在使用的 API 版本中,从而导致了消息。但是这段代码似乎对 API 的实际功能没有任何贡献。它已在更新的版本中被删除。

【讨论】:

以上是关于windows server 2008 上 VS 2008 中不支持的 rpcns4.dll 消息的主要内容,如果未能解决你的问题,请参考以下文章

IIS服务器 远程发布(Web Deploy)配置 VS2010 开发环境 Windows Server 2008服务器系统

C# windows应用程序打包 (VS2010+SQL Server 2008)

vs2010 MFC +win7下的程序 在win7上正常运行,Server2008就出错(ADO数据库连接出错)

asp.net网站部署在云服务器windows server 2008上

Windows Server 2008 是否已经有了?

在 Windows 7 上注册 VS2008 Professional