当我使用C#构建Windows服务时,为什么我的二进制文件没有放置在/bin/release文件夹中?

36
我刚开始学习C#和VS 2010,并且正在按照在线指南创建一个在Visual Studio 2010中的C# Windows Service的过程中。但是,当我尝试构建应用程序时,在/bin/release文件夹下没有创建任何文件。而在/bin/Debug文件夹下却有文件。我已经尝试了所有的编译配置,例如Active、DEBUG、Release、All,但是什么都没有改变。我尝试关闭解决方案并重新启动等操作,但仍然没用。我也遇到了许多其他C#控制台应用程序的相同问题。/bin/release文件夹已存在(因为我不得不手动创建它),我已经检查了属性选项卡中的输出路径,以确保发布配置针对该文件夹。我问了我们工作中的"C#大师",他也不知道。有人知道是什么原因吗?

如果你从头开始创建一个新的空项目,它能正常工作吗? - Justin Morgan
4
执行构建操作并观察输出窗口以查看二进制文件的生成位置... - Gishu
2个回答

45

很可能,你只是在配置发布版本,而不是实际构建发布模式下的项目。

只需从工具栏的下拉框中选择“发布”模式,如下图所示:

enter image description here

或者你也可以从项目属性中完成相同的操作:

enter image description here

然后,当你构建项目时(按Ctrl+Shift+B),它将在发布模式下构建,并将输出放置在你在项目属性中配置的文件夹中(通常为bin/release)。

如果你仍然看不到发布文件夹中的文件,那么像评论中建议的那样,检查构建过程中的输出窗口,以查看二进制文件实际上被创建在哪里。


1
@Cody Gray 感谢您的编辑,我之前不知道那些<kbd>标签。 - Shekhar_Pro
谢谢,Cody。就是这样。我没有看到那个下拉菜单,它被设置为DEBUG,这就是为什么RELEASE文件夹没有被填充的原因。 - Rob

8
我遇到了同样的问题。即使我按照上面显示的配置设置为Release,VS也会以某种方式忽略它,并且从输出窗口可以看出,它将其放在Debug文件夹中。
对我有用的技巧: 1] 进入VS的Build选项卡。 2] 点击“配置管理器”。 3] 在活动解决方案配置和项目特定配置的下拉列表中,选择Release。 4] 检查项目属性以确保无误后进行构建。在Release文件夹中会得到所需的文件。
如果有帮助,请接受答案。

1
在我的情况下,由于某种原因,项目属性中的输出文件夹没有正确设置。 - Ernesto
在我的配置管理器中,尽管在解决方案级别上选择了发布作为活动配置,但在项目级别上选择了调试。我不得不将所有项目切换到发布模式。 - ckkkitty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接