简体   繁体   中英

What causes a mismatch in a .net core nuget package that contains an abstract class requiring a dictionary

I've setup a nuget package ( https://www.nuget.org/packages/AlexaCore/ ) that gets created via dotnet pack with parameters /p:Version=%system.build.number% driven off a TeamCity variable.

When I reference the package in another .netcore1.0 application and create a new AlexaIntent Visual Studio 2017 doesn't persist the correct parameters on the GetResponseInternal method. It should be: Dictionary<string, Slot> but defaults to GetResponseInternal(System.Collections.Generic.Dictionary slots)

在此处输入图片说明

If I then correct the signature Visual Studio indicates the class doesn't correctly implement the base class:

在此处输入图片说明

Why might this be? Is the generation step invalid or somehow missing required settings.

FYI the Slot class exists in another package: Alexa.Net ( https://github.com/timheuer/alexa-skills-dotnet/tree/master/Alexa.NET ) which should be referenced by the nuget definition in my projects csproj file:

<ItemGroup>
    <PackageReference Include="Alexa.NET" Version="1.0.2" />
    <PackageReference Include="Amazon.Lambda.Core" Version="1.0.0" />
  </ItemGroup>

If I reference the class library without nuget (ie via a project in the same solution) then the issue is not visible.

Since updating to the latest version of Resharper (2017.2) this issue is no longer visible. I'd suggest doing the same.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM