【问题标题】:Visual Studio To Output Dll's for each classVisual Studio 为每个类输出 Dll
【发布时间】:2018-04-22 15:27:26
【问题描述】:

在 Visual Studio 2015 中,我有一个 .net 解决方案,我正在处理多个类和表单。有没有办法让 Visual Studio 将一个类编译到它自己的 dll 中,而不仅仅是将它嵌入到 .exe 中?我已经阅读了有关在一个解决方案中创建多个项目的内容,但这似乎会从开发方面创建一个非常丑陋的文件结构和工作流程。

谢谢

编辑

每个类当前都在自己的文件中。 为一个 .dll 文件创建多个项目似乎是一种非常迂回的做法。

我在 SO 上找到了Can C# compiler compile a VB.Net code? 解决方案,它对 c# 非常有用,但我认为 id 不必在编译器级别做任何事情。如果可能的话,我在那个 id 中也有 vb.net 类,这样它就可以工作。

【问题讨论】:

  • 为什么要这样做?听起来像是 X-Y 问题。
  • 你为什么想要/需要这个?好像是 XY 问题。
  • @xxbbcc 因为当我在一个项目上工作并且我在该项目中编写一个可以在另一个项目中使用的类时,我希望能够将 .dll 引用到第二个项目而无需两个同一类的不同版本。
  • @Philip556677 我明白了;你的问题读起来很不一样。

标签: .net vb.net visual-studio visual-studio-2015


【解决方案1】:

只需将您希望在自己的 .dll 中拥有的类放入新的 .csproj(程序集)并将输出类型设置为“ClassLibrary”,这样项目在编译时都会获得自己的 .dll 文件。

这是您共享类/接口/枚举/等的方式。在不同的项目/解决方案之间。


编辑:

如果你想把一个类编译成一个类库和一个可执行文件,你必须改变你的代码结构。 您可能需要将一些方法/属性提取到一个或多个新类中,然后执行我上面写的操作。

【讨论】:

  • 虽然这显然不是问题的答案(因为 OP 已经拒绝提出多个项目的想法),但我看不到任何其他可以提供合理工具支持的解决方案......确实 OP 可以使用CSC 将每个文件编译成 DLL,但处理依赖关系对大多数人来说将是一场噩梦(除非是 makefile 大师)
  • @AlexeiLevenkov 我在 SO 上找到了stackoverflow.com/questions/20826999/… 解决方案,这对 c# 非常有用,但我认为 id 不必在编译器级别做任何事情。如果可能的话,我在那个 id 中也有 vb.net 类,这样它就可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-19
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多