我在为我的.NET Framework 4.8 Web API解决方案创建Windows Docker映像时遇到了问题。该解决方案包括一个引用XAML组件的类库,类似于WPF XAML,其中包含一个定义在其中的DataGrid。
当在本地运行应用程序时,一切正常,并且可以在XAML.cs文件中访问名为“mygrid”的DataGrid。然而,在创建Docker镜像的过程中,我收到了错误消息:“当前上下文中不存在名称'mygrid'。”出现此错误的原因似乎是DataGrid是在XAML文件中定义的,而不是在相应的XAML.cs文件中定义的。
我正在寻求有关如何解决此问题的指导,并成功地为我的.NET Framework 4.8 Web API解决方案创建Docker映像,而不会遇到“名称'mygrid'在当前上下文中不存在”错误。
任何建议、见解或替代方法,以确保在构建Docker镜像时在XAML.cs文件中识别DataGrid,将不胜感激。谢谢你,谢谢
1条答案
按热度按时间dldeef671#
我的猜测是您缺少了导致WPF代码生成触发的MSBuild内容。您可能需要在SDK映像中安装
Microsoft.VisualStudio.Workload.ManagedDesktop
VS工作负载。在SDK阶段的Dockerfile中尝试以下操作:
字符串
但退一步说。你不能在Docker容器中使用UI。您的Web API实际上需要DataGrid吗?如果没有,您可能需要考虑重构代码,以便Web API项目所依赖的类库不包括WPF组件。换句话说,将WPF组件重构到与业务逻辑分离的它们自己的库中。