相关疑难解决方法(0)

为可以在Windows和OS X上运行的.NET应用程序构建安装程序?

我很惊讶我找不到这个问题,所以如果我错过了,请及时通知.

我需要在.NET中编写一个非常小的,相当简单的应用程序,它将由最终消费者下载并安装在他们的系统上.Silverlight的沙盒模型不起作用 - 它必须是一个完整的下载,安装的可执行文件.

这就是我所知道的:

  • 我开发了在受控桌面环境中运行的应用程序 - 例如,在一百台内部计算机上运行的IT应用程序.
  • 我使用Mono开发了应用程序

我不知道的是:

  • 如何创建灵活,强大的安装程序,可以在无数不受控制的桌面配置和环境中工作.
  • 如何使用Mono针对Mac OSX进行相同操作.
  • 安装广泛分布的最终用户应用程序以及如何减轻它们的常见问题是什么?

我正在寻找最好的资源来填补我的知识空白.

有关

使用Mono在OSX上等效的Windows服务

.net deployment mono desktop

18
推荐指数
2
解决办法
4027
查看次数

使用C#创建本机可执行文件

我使用C#的原生EXE是什么样的,我想编译一个基本的EXE,它将在不需要.net框架的情况下运行.我听说ngen.exe可以任何人给我ngen.exe的例子或任何更好的方法.此外,我将为生成的应用程序生成运行时如何将其放入应用程序中,以便使用我的语言的任何人都可以使用其功能.

c# windows exe native compilation

6
推荐指数
1
解决办法
760
查看次数

是否有免费工具能够从CLI程序集中修剪未使用的代码?

是否有免费工具能够从CLI程序集中修剪未使用的代码?

我知道有些混淆器能够执行这种优化,但这些都需要花钱.是否有免费(甚至开源)工具删除已编译的程序集中未使用的代码?

.net obfuscation cil pruning

6
推荐指数
1
解决办法
381
查看次数

Mono mkbundle工具无法创建二进制文件,抱怨输出文件不可用

根据这个线程关于运行C#apps sans .NET的建议我已经使用mono编译了我的应用程序.我使用最新的Visual C#.NET Express Edition构建了原始应用程序.它在Windows上的.NET上运行良好.然后我打开了Cygwin并导航到我的源码,我再次使用以下命令在mono下编译项目:

$ mcs <myProjectHere>.cs
Run Code Online (Sandbox Code Playgroud)

这会生成MyProject.exe,它可以在Cygwin中成功运行,并且可以从Window命令行成功运行.使用的命令是:

$ mono MyProject.exe
C:\...>mono MyProject.exe
Run Code Online (Sandbox Code Playgroud)

只是为了踢,简单地说:

C:\...>MyProject.exe
Run Code Online (Sandbox Code Playgroud)

一切按预期工作.然后,我尝试使用mkbundle命令将单声道编译的可执行文件构建为静态链接的二进制文件,如下所示:

$ mkbundle -o MyProject MyProject.exe --deps
Run Code Online (Sandbox Code Playgroud)

这是事情开始走下坡路的地方.它启动得很好,然后抱怨输出文件(可能是MyProject.exe)因为忙而无法打开.它的全部输出都在这里:

    $ mkbundle -o Program Program.exe --deps
    OS is: Windows
    Sources: 1 Auto-dependencies: True
       embedding: c:\Documents and Settings\bsweeney\My Documents\Visual Studio 2008
    \Projects\TestConsole\TestConsole\Program.exe
       embedding: C:\PROGRA~1\Mono-2.2\lib\mono\2.0\mscorlib.dll
    Compiling:
    as -o temp.o temp.s
    gcc -mno-cygwin -g -o Program -Wall temp.c `pkg-config --cflags --libs mono|dos2
    unix`  temp.o
    /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/bin/ld: cannot op
    en output file Program.exe: Device or resource busy
    collect2: …

c# compiler-construction mono linker mkbundle

2
推荐指数
1
解决办法
1984
查看次数