#wpf #api
Вопрос:
Я новичок в WPF. Я клонировал это приложение с github и теперь пытаюсь его скомпилировать. Это выдает ошибку.
Может ли кто-нибудь, пожалуйста, помочь решить эту проблему?
Не удалось найти имя типа или пространства имен ‘SessionAgentApi’ (вам не хватает директивы using или ссылки на сборку?)
API SessionAgentApi
находится Connected Services
внутри приложения.
Когда я вижу папку api в своем проводнике файлов, я вижу, что внутри находятся эти файлы. xx.SessionAgentApi.LaunchMpegStreamerProcessResponse.datasource
configuration.svcinfo
configuration91.svcinfo
Reference.cs
Reference.svcmap
service1.wsdl
service1.xsd
service2.xsd
Я вызываю этот api внутри нижеприведенного класса внутри того же проекта.
using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.IO;
using System.Diagnostics;
using System.Text;
using System.Threading;
using System.Reflection;
using System.Linq;
using System.Net.Http;
namespace xx
{
public partial class UserSessionAgent: IDisposable
{
static readonly object lockObject = new object();
bool tryOpenApi(int timeoutMss = 3000)
{
if (apiClient == null)
apiClient = new SessionAgentApi.ApiClient();
try
{
apiClient.Open();
...
}
catch (Exception ex)
{
Log.Warning2(ex);
}
apiClient.Abort();
apiClient = null;
}
return false;
}
SessionAgentApi.ApiClient apiClient;
}
}
Комментарии:
1. Итак, где определен этот класс — разве он не в проекте ? Это в отдельном пакете nuget ? На самом деле мы мало что можем сделать, чтобы помочь в этом — ошибка в значительной степени объясняет проблему…
2. @auburg, я вызываю api в одном из классов внутри того же проекта, где находится этот api.
3. «это приложение с github»? Какое приложение?
Ответ №1:
Похоже, у вас есть служба WCF, и вам нужно сгенерировать прокси-классы. Используйте svcutil. Запустите его в том же каталоге, что и ваш файл wsdl:
svcutil /t code service1.wsdl