Где образцы VMware vSphere SDK C # требуют ссылки на классы пространства имен VimApi? - PullRequest
8 голосов
/ 21 сентября 2011

Я не могу скомпилировать образцы C # из VMware vSphere SDK 5.0 с помощью Visual Studio 2010. В этой ошибке отсутствуют ссылки на пространства имен AppUtil и VimApi.

Ссылки в файле решения 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. Я могу обновить каждый проект, чтобы ссылаться на проект, а не на отладочный вывод.

Есть ли шаг сборки, который мне не хватает для создания других библиотек? VimApi является частью другой загрузки? В примечаниях к выпуску не упоминаются дополнительные загрузки для компиляции проектов.

Ответы [ 5 ]

10 голосов
/ 22 сентября 2011

Я не хочу отвечать на свой вопрос, но я нашел решение.На основании статьи KB , указанной в файле readme, я смог создать инструкции для 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
)

Этот сценарий создает необходимые файлы dll из файлов wsdl в SDK.

3 голосов
/ 08 декабря 2011

Глава 3 руководства по установке для разработчиков объясняет, как создавать библиотеки VimService.Приведенный выше сценарий Джейсона работает, но не учитывает один критически важный (и раздражающий) шаг.

После создания dll XMLSerializer вам нужно отредактировать файл VimService.cs, чтобы принудительно указать ссылку на сборку XMLSerializer и удалить встроенные вызовы XMLIncludeAttribute.После редактирования (что объясняется в руководстве по установке) вам необходимо перекомпилировать VimService.

Он работает без редактирования, но может вызвать ОГРОМНУЮ задержку при создании экземпляра VimService.Я нашел, что это было 3 минуты ожидания, что было неприемлемо.Если вы столкнулись с задержкой, перекомпилируйте VimService в соответствии с инструкциями и обновите ссылку на новую сборку (и убедитесь, что ваша сборка не привязана к старой версии).

1 голос
/ 23 октября 2012

Жаль, что VMware не собирал сборки как раньше.Есть 100 строк для редактирования вручную, если вы будете следовать их инструкциям, чтобы сделать это правильно и избежать зависаний.Поэтому я написал несколько скриптов, чтобы сделать это правильно.

Вы можете найти их здесь ...

1 голос
/ 10 декабря 2011

Пример инструкций по изменению файла VimService.cs можно найти здесь.

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

0 голосов
/ 22 сентября 2011

Я также испытал, что DLL отсутствуют. Я тоже решил использовать VMware.Vim.dll, но сейчас я тоже в восторге. Я использовал тот, который был найден в PowerCLI, но вдруг он исчез.

Я уже запросил ответ у сообщества, но никто не ответил, что ... посмотрите: http://communities.vmware.com/message/1815356#1815356

Я также написал небольшое «как начать», но не получил никаких отзывов. Это тоже устарело, так как сейчас нет dll. Но, возможно, это поможет, когда вы нашли правильные dll: http://communities.vmware.com/message/1806388#1806388

Надеюсь, это поможет, по крайней мере, показать, что не нужно делать.

Привет, Kjellski

...