我创建了一个C#/ MVVM项目,当我从VS2010中运行它时运行正常。我将exe文件从/ release文件夹复制到桌面并尝试将其作为独立程序运行并收到错误消息“MyProgram已停止工作”
我的解决方案有两个项目,MyProgram和MyProgramModel(... Model包含数据库项的EDMX模型)。 MyProgram项目被设置为启动项目。
在为C#/ MVVM创建exe时,是否存在我遗漏的内容?
答案 0 :(得分:1)
确保项目引用中包含的所有二进制文件与应用程序位于同一目录中。唯一没有必要的时候是你使用过某种第三方.NET链接器应用程序,或者已经在全局程序集缓存(GAC)中安装了项目的依赖项。
简而言之,只需确保在执行应用程序时项目引用的所有* .dll和* .exe程序集都在同一目录中。默认情况下,Visual Studio会在测试期间为您执行此操作,方法是将它们放在Release / Debug文件夹中。您不需要包含* .vshost.exe应用程序,因为这是一个用于调试目的的简单存根应用程序。
如果您坚持部署为单个应用程序,则需要考虑使用第三方链接器:
其他解决方案包括可在Visual Studio或Click-Once部署中创建的安装部署包。两者都是传统安装技术的形式:
答案 1 :(得分:0)
正如@BoltClock所说,Release文件夹中应该有另一个文件,你也应该复制。可能这是一个名为MyProgramModel.dll的dll或类似的东西 为了获得更多信息,您可以等待Windows尝试执行某些操作来修复程序,然后您可能会显示类似于this one的对话框。点击调试,你应该考虑更全面的错误。