我想我知道这个问题的答案,但想确定。我们试图将脚趾插入.net核心。我们想在.net核心中编写一些dll,但我们希望避免将.net核心运行时推送到每个工作站。我知道如果您正在执行.net core exe,则可以将运行时嵌入到应用程序中,这样就不必在每台计算机上实际安装.net core。
我们要推出的所有计算机都是已安装.net框架的Windows计算机。如果我们想使用能够使用.net核心dll的文件,那么我们将不得不安装.net核心运行时,不是吗?
谢谢。...
答案 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>