Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 指定的命名连接在配置中找不到、不打算与EntityClient提供程序一起使用,或者无效_C#_Entity Framework_Wix_App Config - Fatal编程技术网

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

C# 指定的命名连接在配置中找不到、不打算与EntityClient提供程序一起使用,或者无效,c#,entity-framework,wix,app-config,C#,Entity Framework,Wix,App Config,我正在写一个wpf应用程序(EF,DotNet4,WIX3.6)。它编译得很好。我可以调试应用程序,一切正常。我可以运行生成的可执行文件,一切正常。我尝试用Wix打包,它成功地生成了一个.msi文件,将可执行文件复制到正确的位置。当我运行msi deployed.exe时,我得到上面的错误 我已经检查了这里的问题:,这里:。第二个链接不是解决方案,因为它涉及web.config,而我在windows桌面环境中 第一个解决方案涉及多个项目,EF项目的配置需要在其他项目中重复。在我的例子中,只有两个

我正在写一个wpf应用程序(EF,DotNet4,WIX3.6)。它编译得很好。我可以调试应用程序,一切正常。我可以运行生成的可执行文件,一切正常。我尝试用Wix打包,它成功地生成了一个.msi文件,将可执行文件复制到正确的位置。当我运行msi deployed.exe时,我得到上面的错误

我已经检查了这里的问题:,这里:。第二个链接不是解决方案,因为它涉及web.config,而我在windows桌面环境中

第一个解决方案涉及多个项目,EF项目的配置需要在其他项目中重复。在我的例子中,只有两个项目是主应用程序(包括EF的东西)和Wix安装程序项目

无论如何,我将
App.config
复制到Wix项目中,但这没有任何区别。我很难让wix的东西运行起来,但我认为现在就是这样,不过这可能是解决方案的指针


有人能帮忙吗?

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

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

在任何情况下,将.exe.config文件作为包含在主应用程序功能中的组件添加到Product.wxs文件都可以解决问题

新手注:

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

  • 通往 正在部署的文件相对于.wxs文件的位置


安装的应用程序文件夹是否包含正确的配置文件?像
MyApplication.exe.config
?如果是,连接字符串是什么样子?@Gert回答这个问题,你会得到一个记号。当我注意到build dir中的全新配置文件时,我自己刚刚得出了相同的(正确的)结论,但deploy dir没有。我不介意您回答自己的问题,并在使用Wix和部署配置文件时提供一些警告信息。也许您可以告诉我们如何确保文件正确部署。比我的评论有用得多这只是个问题。