提问人:Zeek Joseph 提问时间:7/21/2023 更新时间:7/21/2023 访问量:130
C# 运行类库
C# Run Class Library
问:
我正在 Jetbrains Rider 中构建一个 C# 项目。项目完成后,我想通过构建 dll 并将 dll 添加到项目中来将其包含在另一个项目中。要生成 dll,我需要将“输出类型”设置为“类库”。
但是,这意味着我无法直接运行该项目。类库不可运行;如果你愿意,你应该做一个控制台应用程序。每次我想测试时,我都必须替换另一个项目中的dll,然后运行另一个项目。这可能看起来还不错,但问题是我的dll只在该项目的某些地方使用。
此外,由于我无法写入/读取控制台,因此无法作为控制台应用程序运行会使调试变得更加困难。
可能有一些骇人听闻的方法可以解决这个问题 - 在努力想出解决我的问题的方法时,我想到了一些骇人听闻和痛苦的方法来获得我想要的东西。但是,我正在寻找一个干净的解决方案。一个项目,相同的代码。单击“生成”时构建到类库,单击“运行”时作为控制台应用程序运行。
到目前为止,我想出的最好的折衷方案是,每当我想生成或运行时,都可以在类库和控制台应用程序输出类型之间切换。然而,这仍然是一种骇人听闻和痛苦的方式。它也容易出错,如果其他人想在我的项目上工作,除了在 README 开头发出一个丑陋的大警告之外,没有办法让他们知道。
必须有更好的方法来做到这一点。我的意思是,你应该如何测试你的类库?我愿意妥协,但似乎没有什么能阻止一个干净而简单的解决方案。右?
答:
0赞
Lee Dungx
7/21/2023
#1
这是我通常测试DLL的方式:
- 创建一个项目类库,生成代码。
- 在解决方案中,添加用于测试的新项目控制台。
- 在项目控制台中,添加引用 DLL 表单项目库。
- 从类库中编辑代码后重新生成解决方案,在控制台项目中进行测试。
评论
0赞
Zeek Joseph
7/21/2023
此解决方案有效,但它仍然是一种棘手的解决方法。首先,我必须添加一个构建事件来编译控制台应用程序运行配置中的类库,这很笨拙,仍然意味着我需要在 README 中为想要处理我的项目的人留下一个丑陋的大警告。此外,它需要两个项目,我强烈反对(也许我在心理上夸大了它有多大,但我讨厌它的想法,我确信它一定违反了软件开发的一些原则)。但感谢您的建议 - 如果我没有找到更好的东西,我会考虑它。
0赞
Zeek Joseph
7/21/2023
顺便说一句,欢迎来到 Stack Overflow!
评论