Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Compatibility with .Net Core 2.0 #187

@fgava

Description

@fgava

We are making some tests on our embedded device (armhf - runtime ubuntu.14.04-arm, but also on my Windows 7 machine) and I'm facing some issues with the re-implemented Socket’s Task-based SendAsync and ReceiveAsync operations in .Net Core 2.0. PR dotnet/corefx #16502

.Net Core version:

.NET Command Line Tools (2.0.0-preview2-006497)

Product Information:
Version: 2.0.0-preview2-006497
Commit SHA-1 hash: 06a2093335

Runtime Environment:
OS Name: Windows
OS Version: 6.1.7601
OS Platform: Windows
RID: win7-x64
Base Path: C:\Program Files\dotnet\sdk\2.0.0-preview2-006497\

Microsoft .NET Core Shared Framework Host

Version : 2.0.0-preview2-25407-01
Build : 40c565230930ead58a50719c0ec799df77bddee9

Opc.Ua.Core.csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <!--<RuntimeFrameworkVersion>2.0.0-beta-001737-00</RuntimeFrameworkVersion>-->
    <RuntimeIdentifiers>win8-arm;ubuntu.14.04-arm;ubuntu.16.04-arm</RuntimeIdentifiers>
    <DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
    <AssemblyName>Opc.Ua.Core</AssemblyName>
    <PackageId>Opc.Ua.Core</PackageId>
    <DefaultLanguage>en-US</DefaultLanguage>
    <!--<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>-->
    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
    <GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
  </PropertyGroup>

  <ItemGroup>
    <EmbeddedResource Include="Stack\Generated\Opc.Ua.PredefinedNodes.uanodes;Types\Utils\LocalizedData.txt" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Portable.BouncyCastle" Version="1.8.1.2" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    <PackageReference Include="System.Data.Common" Version="4.3.0" />
    <PackageReference Include="System.Private.ServiceModel" Version="4.3.0" />
    <PackageReference Include="System.ServiceModel.Primitives" Version="4.3.0" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.0.3" />
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel.Https" Version="1.0.3" />
  </ItemGroup>

</Project>

NetCoreConsoleClient.csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <AssemblyName>NetCoreConsoleClient</AssemblyName>
    <OutputType>Exe</OutputType>
    <PackageId>NetCoreConsoleClient</PackageId>
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\SDK\Opc.Ua.Client\Opc.Ua.Client.csproj" />
    <ProjectReference Include="..\..\..\Stack\Opc.Ua.Core\Opc.Ua.Core.csproj" />
  </ItemGroup>

</Project>

In particular, the console output generated by the NetCoreConsoleClient is:

11:52:50.090 GetEndpoints Called. RequestHandle=1, PendingRequestCount=1
11:52:50.142 Channel 0 in Connecting state.
11:52:50.264 Channel 0: SendHelloMessage()
11:52:50.273 Bytes read: 8
11:53:05.143 *** EXCEPTION*** BadRequestTimeout
11:53:05.143 *** EXCEPTION*** BadRequestTimeout
Generated exception: 'Opc.Ua.ServiceResultException' in Opc.Ua.Core.dll
Generated exception: 'Opc.Ua.ServiceResultException' in Opc.Ua.Core.dll
11:53:05.256 GetEndpoints Completed. RequestHandle=1, PendingRequestCount=0, StatusCode=Bad
Eccezione generata: 'Opc.Ua.ServiceResultException' in NetCoreConsoleClient.dll
11:53:05.276 Channel 0: Close
11:53:05.280 Channel 0 in Closed state.
11:53:05.282 CLIENTCHANNEL SOCKET CLOSED: 038A2A76, ChannelId=0
Generated exception: 'System.AggregateException' in System.Private.CoreLib.dll

Surely I could have made mistakes, but has anyone else tried or had the same problems with .Net Core 2.0?
The same example works perfectly with .Net Core1.1
I'd like to know what your plans are about integrating the stack with .Net Core2.0/.Net Standard2.0?

Thanks in advance.

Metadata

Metadata

Assignees

Labels

enhancementAPI or feature enhancement

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions