VimApi命名空间类所需引用的VMware vSphere SDK c#示例在哪里?

本文关键字:SDK 在哪里 vSphere VMware 命名空间 引用 VimApi | 更新日期: 2023-09-27 18:09:22

我无法使用Visual Studio 2010编译来自VMware vSphere SDK 5.0的c#示例。名称空间AppUtilVimApi缺少引用。

VS2010解决方案文件中的引用指向这些文件。

..'AppUtil'bin'Debug'AppUtil.dll
..'..'Vim25Service2010.dll
..'..'Vim25Service2010.XmlSerializers.dll
..'..'VimService2010.dll
..'..'VimService2010.XmlSerializers.dll
..'VMware.Security.CredentialStore'bin'Debug'VMware.Security.CredentialStore.dll

这些文件在SDK中的位置,或者如果不在SDK中,我如何获得它们?

两个参考文献来自解决方案中的其他项目;包括AppUtil命名空间。我可以更新每个项目以引用项目而不是调试输出。

是否缺少生成其他dll的构建步骤?VimApi是不同下载的一部分吗?发行说明中没有提到要编译这些项目需要额外的下载。

VimApi命名空间类所需引用的VMware vSphere SDK c#示例在哪里?

我讨厌回答我自己的问题,但我想到了一个解决方案。根据自述文件中提到的知识库文章,我能够为VS2010创建指令。在Visual Studio命令提示符中包含解决方案文件的目录中运行以下命令。

rem Script to generate required references for VMware vSphere SDK 5.0
cd ..
if not exist VimService2010.dll (
    wsdl /n:VimApi /o:VimService.cs ..'..'wsdl'vim'vim.wsdl ..'..'wsdl'vim'vimService.wsdl
    csc /t:library /out:VimService2010.dll VimService.cs
    sgen /p VimService2010.dll
)
if not exist Vim25Service2010.dll (
    wsdl /n:Vim25Api /o:Vim25Service.cs ..'..'wsdl'vim25'vim.wsdl ..'..'wsdl'vim25'vimService.wsdl
    csc /t:library /out:Vim25Service2010.dll Vim25Service.cs
    sgen /p Vim25Service2010.dll
)

此脚本从SDK中的wsdl文件创建所需的dll文件。

开发者设置指南的第三章解释了如何构建VimService dll。上面Jason的脚本可以工作,但遗漏了一个非常重要(也令人恼火)的步骤。

在生成XMLSerializer dll之后,您需要编辑VimService.cs文件以强制引用XMLSerializer程序集并删除内联XMLIncludeAttribute调用。编辑之后(在安装指南中有解释),您需要重新编译VimService。

它可以在不做编辑的情况下工作,但它会在实例化VimService时导致巨大的延迟。我发现要等3分钟,这是无法接受的。如果您遇到延迟,请根据说明重新编译VimService并更新对新程序集的引用(并确保您的构建没有挂在旧版本上)。

关于如何修改VimService.cs文件的示例说明可以在这里找到。

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US& cmd = displayKC& externalId = 87402

很遗憾VMware没有像以前那样预先构建程序集。如果您按照他们的说明正确地编辑并避免挂起,则有100行需要手动编辑。所以我写了一些脚本来正确地做到这一点。

我还发现dll丢失了。我也选择了在VMware.Vim.dll上构建,但我现在也有点船了。我用的是在PowerCLI中找到的那个,但是突然它不见了。

我已经向社区请求了一个答案,但是没有人回答…看一看:http://communities.vmware.com/message/1815356 1815356

我也写了一个小的"如何开始",但没有得到任何反馈。它也过时了,因为dll现在已经消失了。但如果你找到了合适的玩偶,也许会有所帮助:http://communities.vmware.com/message/1806388 1806388

希望这能帮助你,至少告诉你什么不该做。

问候,Kjellski