c# - 在 C# 中编译表单

标签 c# forms dll

我想编译我的应用程序中的每个单独的表单,以作为一个 dll 单独使用...我对此进行了调查,发现程序集的表示非常困惑,这可能是我想要的,也可能不是我想要的。

是否可以将 form1.csform1.designer.csform1.resx 编译为 1 个文件,然后将能够用作dll。我使用“dll”作为示例,因为当编译为单个文件时,这是我需要的每种形式的功能,我需要能够调用它并从 shell 应用程序中使用它。

我知道在 VS 中可以创建一个单独的项目,该项目将编译成一个 dll,但要编译的表单接近 80 种……维护起来会很麻烦。所以基本上,有没有更简单的方法?

这是我能得到的最接近的代码,但它在控制台中,所以如果有更简单的方法,这将是不切实际的……我也不确定它是否会实际编译 form1.csform1.designer.csform1.resx 并且仍然作为 dll 工作

csc /target:library /out:MathLibrary.DLL Add.cs Mult.cs

感谢帮助

最佳答案

可能吗?是的。建议?嗯,不确定。

您必须研究 CSC 选项才能以如此大规模的方式使用它。

部分类仅在源中列出。 See here

RESX 文件必须由 ResGen.exe 编译为资源文件 see here

您将使用/References 参数来包含其他 DLL。

真正的挑战可能会在您尝试让交叉引用起作用时出现,这取决于您的应用程序的布局。是否有一个控制所有形式的主要枢纽?是插件架构吗?

祝你好运

关于c# - 在 C# 中编译表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22929314/

相关文章:

c# - 无法连接到 SQL,错误 = ServerVersion 'conn.ServerVersion' 引发了 'System.InvalidOperationException' 类型的异常

c# - C#套接字无法发送数据

java - 将 cookie 中的值设置为 Wicket 中的 TextField<Long>

PHP array_key_exists 不起作用;数组不是多维的

visual-studio - 在Bin中包括GAC程序集

c# - .NET MySqlCommand.Transaction - 它的目的是什么?

c# - 如何使数据网格双列可为空

php - 未处理为订单表 html 输入表单创建插入语句

php - 为什么我必须将 libmysql.dll 复制到 apache/bin 目录才能正确加载 PHP 扩展?

linux - 在 Linux 中使用针对 Windows 制作的 SDK 来适应不同的架构