在我的WPF .NET Core应用程序中,我添加了一个安装程序项目。生成并安装后,当我尝试运行应用程序时,遇到了以下错误:
“microsoft.data.sqlclient在此平台上不受支持。”
我发现如果将来自不同构建目录的文件Project.runtimeconfig.dev.json和Project.deps.json放入已安装的文件夹中,应用程序就可以重新正常工作。
有人能解释一下为什么会出现这种情况吗?我原以为安装程序项目只是将整个输出包装得好看些,但是有多个在正常构建中发现的文件未被包含在安装程序中。
附加信息:
- 应用程序使用.NET Core 3.1 - Entity Framework Core 3.1.3(这是Microsoft.data.sqlclient依赖项的来源)
解决方案由4个项目组成:
- Project - Project.Core(.netstandard 2.0) - DbProject - InstallerProject
安装程序生成的部分输出:
“microsoft.data.sqlclient在此平台上不受支持。”
我发现如果将来自不同构建目录的文件Project.runtimeconfig.dev.json和Project.deps.json放入已安装的文件夹中,应用程序就可以重新正常工作。
有人能解释一下为什么会出现这种情况吗?我原以为安装程序项目只是将整个输出包装得好看些,但是有多个在正常构建中发现的文件未被包含在安装程序中。
附加信息:
- 应用程序使用.NET Core 3.1 - Entity Framework Core 3.1.3(这是Microsoft.data.sqlclient依赖项的来源)
解决方案由4个项目组成:
- Project - Project.Core(.netstandard 2.0) - DbProject - InstallerProject
安装程序生成的部分输出:
3>Build succeeded.
3> 0 Warning(s)
3> 0 Error(s)
3>
3>Time Elapsed 00:00:04.42
------ Starting pre-build validation for project 'SetupProject' ------
------ Starting pre-build validation for project 'SetupProject' ------
------ Starting pre-build validation for project 'SetupProject' ------
------ Starting pre-build validation for project 'SetupProject' ------
------ Pre-build validation for project 'SetupProject' completed ------
------ Pre-build validation for project 'SetupProject' completed ------
------ Pre-build validation for project 'SetupProject' completed ------
------ Pre-build validation for project 'SetupProject' completed ------
4>------ Rebuild All started: Project: SetupProject, Configuration: Debug ------
4>------ Rebuild All started: Project: SetupProject, Configuration: Debug ------
4>------ Rebuild All started: Project: SetupProject, Configuration: Debug ------
Building file 'D:\User_files\Projekty\C#\Archivator_desktop_WPF_WTS\SetupProject\Debug\SetupProject.msi'...
Building file 'D:\User_files\Projekty\C#\Archivator_desktop_WPF_WTS\SetupProject\Debug\SetupProject.msi'...
Building file 'D:\User_files\Projekty\C#\Archivator_desktop_WPF_WTS\SetupProject\Debug\SetupProject.msi'...
Building file 'D:\User_files\Projekty\C#\Archivator_desktop_WPF_WTS\SetupProject\Debug\SetupProject.msi'...
WARNING: File 'sni.dll' of project output 'Publish Items from Archivator_desktop_WPF_WTS (Debug x64)' targeting 'Unknown' is not compatible with the project's target platform 'x64'
WARNING: File 'sni.dll' of project output 'Publish Items from Archivator_desktop_WPF_WTS (Debug x64)' targeting 'Unknown' is not compatible with the project's target platform 'x64'
WARNING: File 'sni.dll' of project output 'Publish Items from Archivator_desktop_WPF_WTS (Debug x64)' targeting 'Unknown' is not compatible with the project's target platform 'x64'
WARNING: File 'sni.dll' of project output 'Publish Items from Archivator_desktop_WPF_WTS (Debug x64)' targeting 'Unknown' is not compatible with the project's target platform 'x64'
Packaging file 'appsettings.json'...
Packaging file 'appsettings.json'...
Packaging file 'appsettings.json'...
Packaging file 'appsettings.json'...
Packaging file 'Microsoft.EntityFrameworkCore.Proxies.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Proxies.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Proxies.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Proxies.dll'...
Packaging file 'Microsoft.Bcl.HashCode.dll'...
Packaging file 'Microsoft.Bcl.HashCode.dll'...
Packaging file 'Microsoft.Bcl.HashCode.dll'...
Packaging file 'Microsoft.Bcl.HashCode.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'MahApps.Metro.dll'...
Packaging file 'MahApps.Metro.dll'...
Packaging file 'MahApps.Metro.dll'...
Packaging file 'MahApps.Metro.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.Core.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.Core.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.Core.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.Core.dll'...
Packaging file 'Microsoft.Extensions.Hosting.dll'...
Packaging file 'Microsoft.Extensions.Hosting.dll'...
Packaging file 'Microsoft.Extensions.Hosting.dll'...
Packaging file 'Microsoft.Extensions.Hosting.dll'...
Packaging file 'Microsoft.Extensions.Primitives.dll'...
Packaging file 'Microsoft.Extensions.Primitives.dll'...
Packaging file 'Microsoft.Extensions.Primitives.dll'...
Packaging file 'Microsoft.Extensions.Primitives.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Relational.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Relational.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Relational.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Relational.dll'...
Packaging file 'Microsoft.Extensions.FileSystemGlobbing.dll'...
Packaging file 'Microsoft.Extensions.FileSystemGlobbing.dll'...
Packaging file 'Microsoft.Extensions.FileSystemGlobbing.dll'...
Packaging file 'Microsoft.Extensions.FileSystemGlobbing.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Abstractions.dll'...
Packaging file 'Microsoft.Identity.Client.dll'...
Packaging file 'Microsoft.Identity.Client.dll'...
Packaging file 'Microsoft.Identity.Client.dll'...
Packaging file 'Microsoft.Identity.Client.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.SqlServer.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.SqlServer.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.SqlServer.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.SqlServer.dll'...
Packaging file 'Microsoft.Extensions.Logging.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Logging.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Logging.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Logging.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.DependencyInjection.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.UserSecrets.dll'...
Packaging file 'Microsoft.Extensions.Configuration.UserSecrets.dll'...
Packaging file 'Microsoft.Extensions.Configuration.UserSecrets.dll'...
Packaging file 'Microsoft.Extensions.Configuration.UserSecrets.dll'...
Packaging file 'Microsoft.Extensions.Logging.Console.dll'...
Packaging file 'Microsoft.Extensions.Logging.Console.dll'...
Packaging file 'Microsoft.Extensions.Logging.Console.dll'...
Packaging file 'Microsoft.Extensions.Logging.Console.dll'...
Packaging file 'ControlzEx.dll'...
Packaging file 'ControlzEx.dll'...
Packaging file 'ControlzEx.dll'...
Packaging file 'ControlzEx.dll'...
Packaging file 'Microsoft.Extensions.Hosting.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Hosting.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Hosting.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Hosting.Abstractions.dll'...
Packaging file 'Castle.Core.dll'...
Packaging file 'Castle.Core.dll'...
Packaging file 'Castle.Core.dll'...
Packaging file 'Castle.Core.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.runtimeconfig.json'...
Packaging file 'Archivator_desktop_WPF_WTS.runtimeconfig.json'...
Packaging file 'Archivator_desktop_WPF_WTS.runtimeconfig.json'...
Packaging file 'Archivator_desktop_WPF_WTS.runtimeconfig.json'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'Microsoft.Extensions.Caching.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Caching.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Caching.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Caching.Abstractions.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.exe'...
Packaging file 'Archivator_desktop_WPF_WTS.exe'...
Packaging file 'Archivator_desktop_WPF_WTS.exe'...
Packaging file 'Archivator_desktop_WPF_WTS.exe'...
Packaging file 'Newtonsoft.Json.dll'...
Packaging file 'Newtonsoft.Json.dll'...
Packaging file 'Newtonsoft.Json.dll'...
Packaging file 'Newtonsoft.Json.dll'...
Packaging file 'Microsoft.Extensions.Logging.dll'...
Packaging file 'Microsoft.Extensions.Logging.dll'...
Packaging file 'Microsoft.Extensions.Logging.dll'...
Packaging file 'Microsoft.Extensions.Logging.dll'...
Packaging file 'Microsoft.Extensions.Logging.Debug.dll'...
Packaging file 'Microsoft.Extensions.Logging.Debug.dll'...
Packaging file 'Microsoft.Extensions.Logging.Debug.dll'...
Packaging file 'Microsoft.Extensions.Logging.Debug.dll'...
Packaging file 'Microsoft.Extensions.Caching.Memory.dll'...
Packaging file 'Microsoft.Extensions.Caching.Memory.dll'...
Packaging file 'Microsoft.Extensions.Caching.Memory.dll'...
Packaging file 'Microsoft.Extensions.Caching.Memory.dll'...
Packaging file 'Microsoft.Extensions.Options.ConfigurationExtensions.dll'...
Packaging file 'Microsoft.Extensions.Options.ConfigurationExtensions.dll'...
Packaging file 'Microsoft.Extensions.Options.ConfigurationExtensions.dll'...
Packaging file 'Microsoft.Extensions.Options.ConfigurationExtensions.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Physical.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Physical.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Physical.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Physical.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Abstractions.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Abstractions.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Abstractions.dll'...
Packaging file 'Microsoft.EntityFrameworkCore.Abstractions.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'System.Runtime.Caching.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Binder.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Binder.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Binder.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Binder.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventSource.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventSource.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventSource.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventSource.dll'...
Packaging file 'Microsoft.Extensions.Logging.Configuration.dll'...
Packaging file 'Microsoft.Extensions.Logging.Configuration.dll'...
Packaging file 'Microsoft.Extensions.Logging.Configuration.dll'...
Packaging file 'Microsoft.Extensions.Logging.Configuration.dll'...
Packaging file 'Microsoft.Extensions.Configuration.FileExtensions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.FileExtensions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.FileExtensions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.FileExtensions.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'sni.dll'...
Packaging file 'Microsoft.Extensions.Configuration.EnvironmentVariables.dll'...
Packaging file 'Microsoft.Extensions.Configuration.EnvironmentVariables.dll'...
Packaging file 'Microsoft.Extensions.Configuration.EnvironmentVariables.dll'...
Packaging file 'Microsoft.Extensions.Configuration.EnvironmentVariables.dll'...
Packaging file 'Microsoft.Extensions.Configuration.CommandLine.dll'...
Packaging file 'Microsoft.Extensions.Configuration.CommandLine.dll'...
Packaging file 'Microsoft.Extensions.Configuration.CommandLine.dll'...
Packaging file 'Microsoft.Extensions.Configuration.CommandLine.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.FileProviders.Abstractions.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Json.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Json.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Json.dll'...
Packaging file 'Microsoft.Extensions.Configuration.Json.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventLog.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventLog.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventLog.dll'...
Packaging file 'Microsoft.Extensions.Logging.EventLog.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Data.SqlClient.dll'...
Packaging file 'Microsoft.Extensions.Options.dll'...
Packaging file 'Microsoft.Extensions.Options.dll'...
Packaging file 'Microsoft.Extensions.Options.dll'...
Packaging file 'Microsoft.Extensions.Options.dll'...
Packaging file 'Microsoft.Xaml.Behaviors.dll'...
Packaging file 'Microsoft.Xaml.Behaviors.dll'...
Packaging file 'Microsoft.Xaml.Behaviors.dll'...
Packaging file 'Microsoft.Xaml.Behaviors.dll'...
Packaging file 'Microsoft.Bcl.AsyncInterfaces.dll'...
Packaging file 'Microsoft.Bcl.AsyncInterfaces.dll'...
Packaging file 'Microsoft.Bcl.AsyncInterfaces.dll'...
Packaging file 'Microsoft.Bcl.AsyncInterfaces.dll'...
Packaging file 'Archivator_desktop_WPF_WTS.pdb'...
Packaging file 'Archivator_desktop_WPF_WTS.pdb'...
Packaging file 'Archivator_desktop_WPF_WTS.pdb'...
Packaging file 'Archivator_desktop_WPF_WTS.pdb'...
Packaging file 'ArchivatorDb.dll'...
Packaging file 'ArchivatorDb.dll'...
Packaging file 'ArchivatorDb.dll'...
Packaging file 'ArchivatorDb.dll'...
Packaging file 'Microsoft.Extensions.Configuration.dll'...
Packaging file 'Microsoft.Extensions.Configuration.dll'...
Packaging file 'Microsoft.Extensions.Configuration.dll'...
Packaging file 'Microsoft.Extensions.Configuration.dll'...
========== Rebuild All: 4 succeeded, 0 failed, 0 skipped ==========
编辑:我已经了解到Windows安装程序项目调用项目上的“发布”然后打包输出,发布应该解决依赖项并将它们包含在内,而构建只是引用在Nuget中下载的包,这就是为什么包括这些额外文件可以解决问题,但只能在我的个人电脑上 - 它们引用了缺少的包。我还发现Visual Studio的“发布到文件”功能没有这个问题,但我无法直接在安装程序中使用它的输出。
https://dev59.com/pl4d5IYBdhLWcg3wAOVw#53304641