Component | Build | Status |
---|---|---|
Connected Service | Rolling |
This is the official OData Connected Service repository which allows users to generate proxy classes from the OData Metadata. These proxy classes are used by OData client to interact with an OData service. OData Connected Service works for both VB.NET and C# projects. OData Connected Service lets app developers connect their applications to OData Services (both V3 & V4) and generate the client proxy files for the services. It supports Visual Studio 2017 and Visual Studio 2019.
This project is ready to be used in production environment and is currently actively being supported.
To learn more about OData please visit the OData website. To learn more about Microsoft OData Libraries see documention here.
Do you have an OData service you would like to integrate in your Microsoft .NET application? OData Connected service makes your life easier since you can use it to automatically generate proxy classes which are much easier to call. The ability of OData Connected service to rapidly generate and update these classes makes your development faster. Please check on the documentation on how to install and use Connected service to generate these classes.
To get started with Microsoft OData Connected Service, please check on the documentation.
The OData Connected Service documentation and other artifacts can be found in the two following places:
In order to build the application Visual Studio 2019/2017 is the recommended development environment with the VSIX development tools installed.
The repository has 2 projects which are
- The main ODataConnectedService project
ODataConnectedService.sln
- The ODataConnectedServiceTests project
ODataConnectedService.Tests.sln
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
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
The project can also be build using on the command-line by relying on the provided build.cmd
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.
OData Connected Service is considered a stable product. Below are some planned improvements:
- Make code Generator cross-platform. This is to take care of developers using Visual Studio code in non-Windows environments.
- Make it more seamless to generate code from the command line and consequently in build pipelines to enhance automations.
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.
- Issues: Report issues on Github issues.
- Questions: Ask questions on Stack Overflow.
- Feedback: Please send mails to odatafeedback@microsoft.com.
- Team blog: Please visit https://docs.microsoft.com/odata/, https://www.odata.org/blog/ and https://devblogs.microsoft.com/odata/.
This project has adopted the .NET Foundation Contributor Covenant Code of Conduct. For more information see the Code of Conduct FAQ.
This project is supported by the .NET Foundation.
OData Connected Service is a Copyright © .NET Foundation and other contributors. It is licensed under MIT License