簡體   English   中英

'Nullable<>' 類型在未引用的程序集中定義

[英]The type 'Nullable<>' is defined in an assembly that is not referenced

我創建了一個類庫和 NuGet 包,以便共享代碼以訪問我們的 API。 (這是我第一次嘗試這些)。 類庫是使用 .NetStandard 創建的。 我使用 Visual Studio 2019 中的“Pack”功能來創建 NuGet 包。 我已將軟件包安裝在一個新的空白應用程序中進行測試。 在我嘗試在視圖中使用模型之前,它似乎都運行良好。 我首先在 Telerik 網格中進行了嘗試:

   @(Html.Kendo().Grid<iCANMVCSDK.Entities.Employee>()
    .Name("employeeGrid")
    .Columns(columns =>
    {
        columns.Bound(c => c.EmployeeCompanyId);
    })
)

我立即收到錯誤:

“'Nullable<>' 類型在未引用的程序集中定義。您必須添加對程序集 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'的引用。1_Views_Home_Index.cshtml”

然后我只是嘗試將模型直接放在視圖上:

@using iCANMVCSDK;
@model IEnumerable<iCANMVCSDK.Entities.Employee>
@{
    ViewBag.Title = "Home Page";
}

我收到同樣的錯誤。 我確實將 .NetStandard 添加到項目中,但我仍然遇到同樣的錯誤。 我假設在打包之前我需要在類庫中做一些事情,但我不知道是什么。

這就是我的類庫項目的樣子。 我不確定任何人需要看到什么才能幫助我。

在此處輸入圖像描述

這是項目 XML:

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

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0</TargetFrameworks>
    <Authors>Rani Radcliff</Authors>
    <Company>iCan</Company>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <Description>The client library that enables sharing and retrieving data with iCan Web Api</Description>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.2">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
    <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
  </ItemGroup>

</Project>

我不知道為什么,我不得不在 MVC 應用程序的 web.config 文件中手動添加對 netstandard 庫的引用:

      <compilation debug="true" targetFramework="4.7.2">
      <assemblies>
          <add assembly="netstandard, Version=2.0.3.0, Culture=neutral, 
        PublicKeyToken=cc7b13ffcd2ddd51"/>
      </assemblies>
  </compilation>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM