指定的命名连接在配置中找不到,不打算与EntityClient提供程序一起使用,或者无效

时间:2012-12-07 04:50:13

标签: c# entity-framework wix app-config

我正在编写一个wpf应用程序(EF,dot net 4,wix 3.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的过程中遇到了很多麻烦,但我认为现在是正确的,但这可能是解决方案的指针。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

好的,正如Gert Arnold正确指出的那样,配置文件尚未复制到应用程序目录,因此无法找到连接字符串。创建的配置文件名为MyAppName.exe.config,包含在VS中创建的App.config文件中的内容和其他位(如EF配置详细信息)。

(VS2010安装程序和Wix安装程序的设置之间必须有所不同,因为之前.msi部署从未涉及.config文件。)

无论如何,将.exe.config文件作为主应用程序功能中包含的组件添加到Product.wxs文件可以解决问题。

Newb说明:

  • 如果您复制并粘贴组件标记,请记住设置KeyPath =“no”。

  • 前往的路径 正在部署的文件是相对于.wxs文件的位置