MSIX未打包所有依赖项

时间:2020-06-18 14:35:38

标签: c# wpf .net-core msix

我一直在考虑使用打包项目将WPF .Net Core 3.1应用程序打包到MSIX安装程序中。

但是,在手动调试或测试输出时,由于缺少我的应用程序所依赖的Microsoft.EntityFrameworkCore.Design dll,该应用程序在启动时崩溃。我不太明白为什么会这样。

我不直接引用此程序包,只是Microsoft.EntityFrameworkCore.Sqlite和Microsoft.EntityFrameworkCore.Tools程序包,但是当我尝试直接引用它时,行为不会改变。

我试图按照本指南进行设置以供参考:https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/modernize-wpf-tutorial-5

我可以看到该文件夹​​中没有该dll,是否需要在本指南之上做一些额外的操作才能使我的应用运行?该dll是在应用本身的构建目录中提供的,但不在软件包的构建目录中提供。

任何建议都会很有帮助

1 个答案:

答案 0 :(得分:0)

因此,在摆弄设置之后,我发现引用丢失的Microsoft.EntityFrameworkCore.Tools软件包的Microsoft.EntityFrameworkCore.Design软件包具有某些属性,使其无法包含在软件包项目输出中。

在EFC.Tools参考上按F4时,我发现其Private assets属性设置为“ all”。看着documentation,我可以看到它会阻止dll传递到需要它的软件包项目中。

删除此属性似乎已修复所有问题。考虑到虽然这是默认设置,但是知道这是否是正确的解决方案将很有帮助,但是,感觉上更像是我的解决方法。

相关问题