【问题标题】:compile c# on linux with wpf使用 wpf 在 linux 上编译 c#
【发布时间】:2012-03-26 00:44:07
【问题描述】:

好的,请在回复之前阅读我的问题。我有一个需要在包含 WPF 的 linux 上编译的 c# 项目。我不需要在 linux 上运行 WPF,只需要编译。 WPF 本质上只是 .net DLL,所以你认为这是可行的,因为我不想在 linux 上运行应用程序,只是构建它。据我所知,我不能用单声道编译来做到这一点,但我可能错了。也许我可以以某种方式使用 Microsoft 编译器?我不知道。

关于如何在 Linux 上构建 C# 应用程序的任何想法(同样,我不需要运行它)。

【问题讨论】:

  • 大声笑,为什么总有一些老兄会通过并否决问题。
  • 自动化构建过程。有一个团队,我们正在与 nant 合作,为 nightly 和发布创建一个自动化构建过程。你为什么要问我为什么要从命令行编译? Windows 服务器更贵。
  • @sarnold 如果可以使用 mono 来构建具有 wpf 的 c# 应用程序,那就是答案,从我读到的所有内容中都说这是不可能的。如果是,那么这就是我会接受的答案(我正在运行最新的单声道)。
  • 理论上可以通过模拟程序集...但我应该在今晚尝试实现它...
  • 根据我的经验,如果您正在做 Windows 开发并试图通过不使用 Windows 来省钱,那么您将花费更多的时间和精力来完成任务工作。只需使用 Windows 框进行自动构建。

标签: c# wpf linux compilation


【解决方案1】:

【讨论】:

  • 总之,WPF 是一个庞大的 API,目前还没有人愿意去实现。
  • 我不是想运行 WPF,只是为了编译。听说有办法使用一些 MSIL 和单声道什么的?
  • 我在 Linux 中开始了我正在从事的项目,Mono 是我能找到的唯一一组 .NET 库。没有库就无法构建应用程序。由于没有为 Linux 实现 WPF,因此您没有库。这和其他一些原因是我将项目移至 Windows 和 Visual Studio 的原因。最后,这个问题很久以前在这里被问到并得到了回答:stackoverflow.com/questions/3580000/…
【解决方案2】:

我尝试了我能想象到的最简单的解决方案:将所需程序集的 Microsoft 版本(如 PresentationCore.dll 和 PresentationFramework.dll)复制到 Linux 机器并使用它们构建一个简单的 WPF 应用程序。

这不起作用。我收到了很多关于各种程序集的警告,例如:

参考“mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089”未解决
发现:“系统”和“系统,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089”之间存在冲突。使用“系统”引用。

还有错误:

CS0584:内部编译器错误:无法从 `PresentationFramework,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35' 导入类型 `System.Windows.Window'

还有另一个错误,但可能只是这个错误的结果。

基于此,我认为如果可能的话,使用 mono 构建 WPF 应用程序并不简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-30
    • 2017-03-12
    • 1970-01-01
    • 2021-07-16
    • 2010-11-16
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多