Я пытался понять этот учебник: http://odata.github.io/odata.net/#OData-Client-Code-Generation-Tool
Я могу без проблем сгенерировать прокси. Так же, как это описано.
Но в главе «Использование службы OData» это не работает. Я назвал приложение и прокси точно так, как показано в руководстве. Как я могу сделать odata доступными в пространстве имен Microsoft?
Я использовал:
@Evandro Paula: Спасибо за вашу помощь! Я продвинулся немного дальше благодаря вашей помощи. Но, к сожалению, я еще не дошел до цели.
Установил / обновил:
Теперь результаты выглядят так:
Компиляция работает с Proxy (TrippinProxy.cs), но без примера Odata. (Скриншот)
Как только я копирую код из учебника, компиляция перестает работать. (Скриншот)
using System;
using Microsoft.OData.SampleService.Models.TripPin;
namespace TrippinApp
{
class Program
{
static void Main(string[] args)
{
DefaultContainer dsc = new DefaultContainer(
new Uri("http://services.odata.org/V4/(S(fgov00tcpdbmkztpexfg24id))/TrippinServiceRW/"));
var me = dsc.Me.GetValue();
Console.WriteLine(me.UserName);
}
}
}
источник: http://odata.github.io/odata.net/#OData-Client-Code-Generation-Tool





Во-первых, обновите пакеты, которые вы упомянули в своем вопросе, до их последней версии. Похоже, Visual Studio в вашем случае не использовала последнюю версию. Для этого теста я использую Visual Studio 2017 Enterprise Edition (версия 15.7.3).
Как только пакеты обновятся, вы увидите следующий ошибка сборки, который связан с проблемой https://github.com/OData/lab/issues/80:
Severity Code Description Project File Line Suppression State
Error CS0234 The type or namespace name 'EdmxReader' does not exist in the namespace 'Microsoft.OData.Edm.Csdl' (are you missing an assembly reference?) ODataClient C:\temp\NET\ODataClient\Connected Services\TrippingService\TrippingProxy.cs 510 Active
разрешающая способность для этой проблемы доступен по адресу https://github.com/juliopinto15/lab/commit/deb1254301a775eb6771b0bed672dd3f56f37cfe.
Просто измените строку кода прокси (например, TrippingProxy.cs) ниже как часть метода LoadModelFromString ():
return global::Microsoft.OData.Edm.Csdl.EdmxReader.Parse(reader);
к
return global::Microsoft.OData.Edm.Csdl.CsdlReader.Parse(reader);
Конечно. Можете ли вы открыть TrippingProxy.cs и убедиться, что пространство имен правильное. Кроме того, вы пробовали создать чистый проект? Я не заметил этой ошибки, с которой вы столкнулись.
Спасибо за помощь. Я продолжил свой вопрос, потому что у меня еще нет решения.