Csproj 编译输出引用Nuget包内的资源文件
组内有个组件,对外部Nuget包Microsoft.Web.WebView2封装。
因为WebView2对自身有一些资源文件依赖,资源文件需要随编译输出到启动目录,WebView2直接加载启动目录下相应文件。
如果上层应用同时引用Microsoft.Web.WebView2,自然会输出对应的资源文件。
但应用层很容易遗漏对Microsoft.Web.WebView2的引用依赖,并且强依赖有点耍流氓。
翻山越岭找技术,Nuget官方仓库也有遇到类似的问题:How to copy non assembly files to output directory of application · Issue #8843 · NuGet/Home (github.com)
我总结了下,以内容生成、加个PackageCopyToOutput,就行了。
1 <ItemGroup> 2 <Content Include="runtimes\win-arm64\native\WebView2Loader.dll"> 3 <PackageCopyToOutput>true</PackageCopyToOutput> 4 </Content> 5 <Content Include="runtimes\win-x64\native\WebView2Loader.dll"> 6 <PackageCopyToOutput>true</PackageCopyToOutput> 7 </Content> 8 <Content Include="runtimes\win-x86\native\WebView2Loader.dll"> 9 <PackageCopyToOutput>true</PackageCopyToOutput> 10 </Content> 11 </ItemGroup>
不过这种实现有点缺陷,有双倍的资源文件:
没有Microsoft.Web.WebView2原生组件处理的好,它只有一份资源文件:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)