因此,我想为我的基于.NET Core 3的C#项目创建一个安装程序。我安装了Visual Studio 2019的Installer Projects扩展,并在我的解决方案中创建了一个新的Installer项目。在尝试了一些不同的设置后,我最终将两个可执行文件的PublishItemsOutputGroup添加到了应用程序文件夹中。这(对重复的dll发出各种警告(创建了一个很好的安装程序包,其中"假定"包含所有必需的dll(有相当多的.net库(。然而,在目标计算机上执行一个已安装的exe文件后,我得到:
It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '3.0.0' was not found.
- Check application dependencies and target a framework version installed at:
C:Program Filesdotnet
- Installing .NET Core prerequisites might help resolve this problem:
https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
- The .NET Core framework and SDK can be installed from:
https://aka.ms/dotnet-download
- The following versions are installed:
2.2.7 at [C:Program FilesdotnetsharedMicrosoft.NETCore.App]
我知道,在发布.exe文件时,我可以创建一个巨大的独立.exe,然而,这对我来说似乎有点浪费——创建两个巨大的.exe文件,无论如何,它们都包含基本相同的.dll。
是否也没有办法在安装程序项目中包含.NET Core 3安装程序?我在网上找不到关于那个话题的任何东西。。。
我发现这也有同样的问题,但最终发现,如果在安装程序项目中设置publishProfilePath设置,它将包括所有文件,并且工作正常。
对我来说,用PublishItemsOutputGroup替换PrimaryOutput在收集依赖关系时效果很好。不幸的是,它不允许在安装程序中引用这些输出。例如,如果您想在安装过程中运行自定义操作或创建快捷方式,则它不起作用。输出不可用。