Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
.net 部署在win2k8上时,WCF VSTO客户端找不到默认端点_.net_Wcf_Vsto_Windows Server 2008 - Fatal编程技术网

.net 部署在win2k8上时,WCF VSTO客户端找不到默认端点

.net 部署在win2k8上时,WCF VSTO客户端找不到默认端点,.net,wcf,vsto,windows-server-2008,.net,Wcf,Vsto,Windows Server 2008,我在Win2008R2终端服务器上创建并部署了一个WCF客户端(从VSTO Word加载项启动)。 当执行WCF代理的默认构造函数时,会抛出一个InvalidOperationException,说明找不到契约的默认端点 部署到Win7 x64计算机上的同一个WCF客户端使用相同的.dll.config即可正常运行 我试图在PowerShell中创建一个实例,但收到了相同的错误 如果在PowerShell中创建专用端点,我可以执行服务方法: $binding = New-Object Syste

我在Win2008R2终端服务器上创建并部署了一个WCF客户端(从VSTO Word加载项启动)。 当执行WCF代理的默认构造函数时,会抛出一个
InvalidOperationException
,说明找不到契约的默认端点

部署到Win7 x64计算机上的同一个WCF客户端使用相同的.dll.config即可正常运行

我试图在PowerShell中创建一个实例,但收到了相同的错误

如果在PowerShell中创建专用端点,我可以执行服务方法:

$binding = New-Object System.ServiceModel.BasicHttpBinding
$endpoint = New-Object System.ServiceModel.EndPointAddress("http://myserver:7777/CompanyService.svc")
$client = New-Object MyClient.CompanyServiceReference.CompanyServiceClient($binding, $endpoint)
$v = $client.Version()
服务Web.config(部分)


MyClient.dll.config(部分)



更新


我通过将Client.config复制到Office程序文件夹并将其重命名为WINWORD.EXE.config来“修复”此问题。

您能以编程方式创建端点吗

MyProxy proxy = new MyProxy (new BasicHttpBinding(), new EndpointAddress("http://server/Service.svc"));

如果这样做有效,那么很可能是配置问题。

我们在通过Visual Studio 2010.NET4创建的Excel 2010加载项中遇到了完全相同的问题。我们按照本文中更新的修复程序修复了问题,但希望详细说明修复程序的细节,请参见下文

更新 我通过将Client.config复制到Office程序文件夹并将其重命名为WINWORD.EXE.config“修复”了此问题

我们修复的详细信息如下:

  • 卸载了我们的Excel 2010加载项;然后通过Windows Installer重新安装了我们的Excel 2010加载项
  • 打开$EXCEL\u主页目录。$EXCEL\u HOME目录是EXCEL 2010 Office程序“EXCEL.exe”所在的目录(适用于Windows 7和XP上的用户-C:\Program Files\Microsoft Office\Office14)
  • 将应用程序/addin config“MyAddinProjName”.dll.config(在Excel加载项安装期间安装)从安装的加载项位置(C:\Program Files\Microsoft\“MyAddinProjName”)复制到$Excel\u HOME目录
  • 然后我们将其重命名为“Excel.exe.config”
  • 错误不再出现后高兴得跳了起来
  • 我们从来没有弄清楚为什么会在某些机器上发生这种情况,而在其他机器上却没有,但我们知道,这种修复/解决方法允许我们继续测试加载项功能。我们处理出现此问题的任何加载项安装的解决方案是提供系统管理员可以运行的.bat或VB脚本,该脚本将把配置文件复制并重命名到适当的位置


    我希望这些信息能帮助所有遇到同样问题的人,并澄清任何缺失的细节:)

    此问题是由于部署项目在注册表中没有清单文件的正确条目造成的。上述解决方法之所以有效,是因为-尚未找到外接程序word/excel等的配置文件。请查找默认位置(其程序目录)并查找默认配置文件名-对于MsWord WINWORD.EXE.config

    清单条目的不正确表单为:

    [TARGETDIR]Addin.vsto|vstolocal
    
    应该是:

    file:///[TARGETDIR]Addin.vsto|vstolocal
    
    然后将正确加载配置文件


    有关更多信息,请参见

    可能是@Roy的副本:不是真正的副本,因为我可以确认工作配置已就位。您解决过这个问题吗?我们有完全相同的问题-从excel加载项中插入wcf代理客户端,并且在某些机器win7 64和xp 32上部署时效果良好,但在其他win7 64和xp 32上部署时效果不佳!似乎它没有拾取配置,即使我在不工作的机器上使用它,它似乎也不在乎——好像它没有走那么远。谢谢,我们通过将WCFClient.config复制到Office程序文件夹并将其重命名为WINWORD.EXE.config将其“修复”。为所有用户部署外接程序真的很麻烦。好吧,我尝试在PowerShell中创建一个端点,并且可以调用服务方法。我将添加我的服务和客户端配置。我承认实际的问题是配置显然不可读/不可访问,并研究如何配置VSTO加载项。这看起来很有趣-我必须将此转发给我的继任者,因为我今年3月确实离职了。我认为这是正确的解决方案。为了正确读取配置,我们需要使用file:///前缀和| vstolocal后缀。谢谢
    [TARGETDIR]Addin.vsto|vstolocal
    
    file:///[TARGETDIR]Addin.vsto|vstolocal