MSIX 未打包所有依赖项
MSIX not packaging all dependencies
我一直在考虑使用打包项目将我的 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 在应用程序本身的构建目录中提供,只是不在包的构建目录中。
任何建议都会很有帮助
因此,在摆弄设置后,我发现引用 Microsoft.EntityFrameworkCore.Design
包的 Microsoft.EntityFrameworkCore.Tools
包缺少一些属性,阻止它包含在包项目输出中。
当在 EFC.Tools 引用上按 F4 时,我发现它的 Private assets
属性 被设置为 "all"。为此查看 documentation,我可以看到它会阻止 dll 传递到需要它的包项目。
删除此属性似乎已解决所有问题。考虑到这是默认设置,了解这是否是正确的解决方案会很有帮助,但对我来说更像是一种解决方法。
我一直在考虑使用打包项目将我的 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 在应用程序本身的构建目录中提供,只是不在包的构建目录中。
任何建议都会很有帮助
因此,在摆弄设置后,我发现引用 Microsoft.EntityFrameworkCore.Design
包的 Microsoft.EntityFrameworkCore.Tools
包缺少一些属性,阻止它包含在包项目输出中。
当在 EFC.Tools 引用上按 F4 时,我发现它的 Private assets
属性 被设置为 "all"。为此查看 documentation,我可以看到它会阻止 dll 传递到需要它的包项目。
删除此属性似乎已解决所有问题。考虑到这是默认设置,了解这是否是正确的解决方案会很有帮助,但对我来说更像是一种解决方法。