我在Visual中有一个C#项目,它将Console Application作为输出类型。
但我也需要这个项目的Class Library作为另一个解决方案。
现在我必须每次切换输出类型,但我不知道是否可以在同一个exe和dll中生成build-event
这里有post-build-event吗?
发布于 2016-08-17 07:09:37
据我所知,编译后不可能更改输出类型。尽管如此,如果您的解决方案中有两个项目(如控制台和库),它们将使用相同的源代码文件,但有不同的输出类型。这样,您就可以有不同的输出,而不需要任何代码重复。
发布于 2016-08-17 07:14:14
通常可以引用.net exe程序集,因为它是类库.
因此,您可以继续创建一个exe文件,并在您的其他项目中引用exe (听起来很奇怪,但效果很好)。
这是用于浏览引用的对话框。如您所见,您可以选择exe文件。

但正如评论所说,这真的取决于你的使用程序是什么。我不建议向您的客户发送带有入口点的exe,希望客户不会发现该exe。但是你能做的就是在条件下编译你的入口点。
例如
class Program {
// This is the entry point of the EXE
public static void Main() {
#if DEBUG
// Start Debug Application
...
#else
// Shipped to client - Entry point disabled
return;
#endif
}
}如果有相关的原因需要一个附带的exe和一个附带的类库,我会像这样重构您的解决方案:
对其他人来说,有一个应用程序可以使用库和库本身,这一点是非常清楚的。
发布于 2016-08-17 07:10:10
控制台应用程序是项目的类型。你不能改变它。
您可以-and必须做的是,将您的逻辑带到类库项目中,并从任何类型的项目中使用类库。
https://stackoverflow.com/questions/38990165
复制相似问题