我有两个项目:一个 .Net 4.0 控制台应用程序 和一个 Asp.Net 4.0 网站(它们在同一个解决方案中)。现在我想在 Web 应用程序中包含控制台应用程序(它的 .exe),因为我需要在用户单击某个按钮时在服务器上运行它。
现在我想以一种方式包含它,只要我重新编译解决方案,控制台应用程序就会更新,因此它保持最新。
那么...如何将我的 .exe 包含在我的网络应用程序中?
附言。引用不起作用:
最佳答案
您是否尝试过将它作为“项目引用”添加到 网站 项目?右键单击网站项目,选择“添加引用...”并切换到“项目”选项卡。
此处的快速测试表明,通过这样做,控制台应用程序项目(.exe)的输出在我构建解决方案时被复制到网站的/bin 文件夹中。
然后您应该能够使用您的标准部署机制来确保将其与其他库同时复制到服务器。
抱歉,您是对的,这不适用于 WebSite 项目,仅适用于 Web Applciation。
在这种情况下,您必须在控制台应用程序上使用“生成后”事件将其复制到网站的文件夹。
在解决方案资源管理器中右键单击控制台应用程序项目并选择“属性”,或者当您打开项目中的文件时使用“项目”菜单。
然后在“Build Events”选项卡上,将“Post-build event command line”更新为如下内容:
xcopy "$(TargetDir)$(TargetFileName)" "c:\users\[UserName]\Documents\Visual Studio 2010\Websites\[ProjectName]\bin\" /D /S /I /Y
如果你还想包含 PDB 和配置文件,那么像下面这样的东西会更好:
xcopy "$(TargetDir)$(TargetName).*" "c:\users\[UserName]\Documents\Visual Studio 2010\Websites\[ProjectName]\bin\" /D /S /I /Y
关于c# - 如何在 Asp.Net 网站中包含另一个项目控制台应用程序 exe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5488160/