我正在写一个wpf应用程序(EF,.NET4,Wix3.6)。它编译得很好。我可以调试这个应用程序,一切都会正常工作。我可以运行生成的可执行文件,一切都会正常工作。我尝试使用Wix将其打包,它成功地生成了一个.msi文件,并将可执行文件复制到正确的位置。当我运行msi部署的.exe时,我得到了上面的错误。
我已经在这里查看了问题:The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid,这里:The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid。第二个链接不是解决方案,因为它处理web.config,而我在windows桌面环境中。
第一个解决方案讨论了多个项目和EF项目的配置需要在其他项目中复制。在我的例子中,仅有的两个项目是主应用程序(包括EF )和Wix安装程序项目。
无论如何,我将App.config复制到了Wix项目中,但这并没有什么不同。我在使用wix时遇到了很多麻烦,但我认为就是现在,然而这可能是一个解决方案的指针。
有人能帮上忙吗?
发布于 2012-12-07 19:37:51
好的,正如Gert Arnold正确指出的那样,配置文件没有复制到应用程序目录,因此无法找到连接字符串。创建的配置文件名为MyAppName.exe.config,包含在VS和其他位中创建的App.config文件中的内容(如EF配置详细信息)。
( VS2010安装程序和Wix安装程序的设置必须有所不同,因为.msi部署以前从未涉及过.config文件。)
在任何情况下,将.exe.config文件作为包含在主应用程序特性中的组件添加到Product.wxs文件都解决了这个问题。
Newb备注:
如果复制并粘贴组件标记,请记住设置要部署的文件的路径相对于.wxs
的位置
https://stackoverflow.com/questions/13757102
复制相似问题