【发布时间】:2022-12-03 07:55:51
【问题描述】:
在我尝试编译一个利用 Microsoft.Data.Sqlite 的单文件二进制文件时,我一直被留下两个文件这两者都是应用程序工作所必需的。
{ProjectName}.exe-
e_sqlite3.dll是否可以将
e_sqlite3.dll包含到 exe 中?看起来 System.Data.Sqlite 表现出相同的行为,但取而代之的是一个名为
SQLite.Interop.dll的文件。示例代码
注意:我意识到与 SQLite 没有实际的互操作发生,这段代码纯粹是为了演示编译。
项目名称.fsproj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net7.0</TargetFramework> <PublishSingleFile>true</PublishSingleFile> <SelfContained>true</SelfContained> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <PublishReadyToRun>true</PublishReadyToRun> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Data.Sqlite" version="7.*" /> </ItemGroup> <ItemGroup> <Compile Include="Program.fs" /> </ItemGroup> </Project>程序.fs
module ProjectName.Program open System [<EntryPoint>] let main (argv : string[]) = printfn "Hello world" 0编译工程如下:
dotnet publish .\ProjectName.fsproj -c Release
【问题讨论】:
标签: .net sqlite .net-core f# microsoft.data.sqlite