Skip to content

A Visual Studio extension for generating client code for OData Services

License

Notifications You must be signed in to change notification settings

weitzhandler/ODataConnectedService

 
 

Repository files navigation

ODataConnectedService

Component Build Status
Connected Service Rolling

Introduction

This is the official OData Connected Service repository which allows users to generate proxy classes from the OData Metadata.

OData Connected Service Provider

The OData Connected Service release can be found in the two following places.

Building

In order to build the application Visual Studio 2019/2017 is the recommended development environment with the visx development tools installed.

The repository has 2 projects which are

  1. The main ODataConnectedService project ODataConnectedService.sln
  2. The ODataConnectedServiceTests project ODataConnectedService.Tests.sln

Building in visual studio

Open the ODataConnectedService.sln in visual studio and install any suggested extensions that may be missing in your instance. Build and run the project.

While developing if you encounter any issues do check the FAQ section below for frequently asked questions

Unit Tests

The ODataConnectedService.Tests.sln contains the unit tests for the OData connected service. The folder structure of the tests mirrors the folder structure of the ODataConnectedService project. The base namespace for tests is Microsoft.OData.ConnectedService.Tests. Furthermore each test class has the same name as the class it is testing, followed by the suffix Test.

Example: for some class Microsoft.OData.ConnectedService.X.Y located in src\X\Y.cs, the test class would be Microsoft.OData.Tests.ConnectedService.Tests.X.YTest located in test\X\YTest.cs

Building Command-line

The project can also be build using on the command-line by relying on the provided build.cmd

FAQ

Question: The extension module is not loaded when debugging in the Visual Studio experimental instance, or it is not listed as part of the "Add Connected Service" options Workaround: Disable strong name verification for the main and test assemblies. You can do that using the sn.exe tool from the Visual Studio Developer Command Prompt. First, build the solution using Visual Studio, then open the developer command prompt with Adminstrator privileges and run the following commands:

For the main assembly:

sn.exe -Vr path\to\ODataConnectedService\src\bin\Debug\Microsoft.OData.ConnectedService.dll

For the test assembly:

sn.exe -Vr path\to\ODataConnectedService\test\ODataConnectedService.Tests\bin\Debug\ODataConnectedServiceTests.dll

Then restart Visual Studio.

If disabling verification is not an option, then you can disable signing by going to the Project Properties > Signing and disabling both "Sign the assembly" and "Delay sign only" options. Do this for both the main and test projects. Then open the AssemblyInfo.cs file under the main project's properties in solution explorer and remove the public key from the [assembly: InternalsVisibleTo("ODataConnectedService.Tests, PublicKey=...")] attribute so that it only reads as [assembly: InternalsVisibleTo("ODataConnectedService.Tests")]. Remember to re-enable delay-signing and to restore the public key before commiting your changes.

Question: In Visual Studio 2017, upon configuring the service endpoint in the OData Connected Services extension and clicking "Finish", I get an error message that says "Cannot access".
Workaround: Most reported issues for this error are related to authentication-based endpoints. This extension does not currently support authentication. To work around, download the metadata as a text file from the endpoint and then point the OData Connected Services URI to the downloaded file.

Contribution

There are many ways for you to contribute to OData Connected services. The easiest way is to participate in discussion of features and issues. You can also contribute by sending pull requests of features or bug fixes to us. Contribution to the documentations is also highly welcomed. Please refer to the CONTRIBUTING.md for more details.

Support

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

About

A Visual Studio extension for generating client code for OData Services

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 62.5%
  • Visual Basic .NET 37.5%