在我的系统上编译正常,在 GitHub Action 中编译,现在失败

Compiles fine on my system, was compiling in GitHub Action, now fails

提问人:David Thielen 提问时间:11/17/2023 更新时间:11/17/2023 访问量:31

问:

以下代码已经编译了几个月。而现在,突然之间,它无法在 Git (GitHub Action) 上编译。它仍然在我的系统上编译良好。

<DisplayFlyweight Data="tagInfo.DataItem"
                  ButtonCssClass="@DisplayFlyweight.CloseButtonClass"
                  Click="@(new EventCallback(null, tagInfo.RemoveTagAction))"
                  SizeMode="SizeMode.Small" />

我评论掉了并签到了 - 然后它编译得很好。Click="@(new EventCallback(null, tagInfo.RemoveTagAction))"

错误是:

Argument 2: cannot convert from 'Microsoft.AspNetCore.Components.EventCallback' to 'System.MulticastDelegate?'
Cannot convert lambda expression to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type

Click 的声明是:

   [Parameter]
   public EventCallback<IItemFlyweight?> Click { get; set; }

RemoveTagAction(DexExpress 类)是:

public Action RemoveTagAction { get; internal set; }

我怎样才能再次编译?该代码在我的系统上编译并运行良好。

谢谢 - 戴夫

blazor github-actions blazor-server-side

评论

0赞 ℍ ℍ 11/17/2023
您是否已经升级到 .net 8?我认为 GitHub 做到了。这可能是一个重大更改。
0赞 David Thielen 11/17/2023
@HH 是的,我做到了,大约一个月前。并在我的行动中指定了它,大约一个月前。我已经向 GitHub 提交了支持票,因此应该在大约 6 周内得到他们的答复......
0赞 Mister Magoo 11/17/2023
太多的未知数无法回答这个问题,但我感兴趣的是为什么您将 Click 声明为 EventCallback,然后向它传递一个动态构造的 null 目标 EventCallback - 这一切似乎 - 至少 - 奇怪,如果不是完全糟糕的话。我假设您构造了一个以 null 为目标的 EventCallback 以防止自动重新渲染 - 在这种情况下为什么不坚持 Action?
0赞 David Thielen 11/17/2023
@MisterMagoo 这是 DevEx 代码中 bug 的解决方法。不知道它为什么起作用,但它需要这样称呼它。从 DevEx 那里得到了答案。

答: 暂无答案