使用.net核心dll与.net框架应用程序?

时间:2018-07-10 15:46:07

标签: .net-core

我想我知道这个问题的答案,但想确定。我们试图将脚趾插入.net核心。我们想在.net核心中编写一些dll,但我们希望避免将.net核心运行时推送到每个工作站。我知道如果您正在执行.net core exe,则可以将运行时嵌入到应用程序中,这样就不必在每台计算机上实际安装.net core。

我们要推出的所有计算机都是已安装.net框架的Windows计算机。如果我们想使用能够使用.net核心dll的文件,那么我们将不得不安装.net核心运行时,不是吗?

谢谢。...

1 个答案:

答案 0 :(得分:0)

这是我们使用的.net标准dll中的示例csproj文件,该文件由.net核心和.net框架应用程序使用。 TargetFrameworks用于指定要使用的框架。为可能需要执行的任何特定于框架的代码定义了常量。在我们的案例中,我们有特定的实例,其中框架和核心的代码略有不同

<PropertyGroup>

   <TargetFrameworks>netstandard1.3;netstandard2.0;net452;net461;net471</TargetFrameworks>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <Copyright>...</Copyright>
    <Company>...</Company>
    <Authors>...</Authors>
    <Description>...</Description>
    <Version>1.0.20</Version>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)'=='Debug'">
    <DefineConstants>TRACE;DEBUG;</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
    <DefineConstants>NETSTANDARD2_0;</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetFramework)'=='netstandard1.3'">
    <DefineConstants>NETSTANDARD1_3;</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetFramework)'=='net471'">
    <DefineConstants>NET471;</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetFramework)'=='net461'">
    <DefineConstants>NET461;</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetFramework)'=='net452'">
    <DefineConstants>NET452;</DefineConstants>
  </PropertyGroup>