背景:Azure; C#; Visual Studio社区2015; Google.Ads.Common.3.14.0; Google.AdWords.18.26.1
最奇怪的事情。我在C#中构建了一个命令行应用程序,列出了我们管理的帐户的所有预算。解决方案文件位于E:\ Sources \ BudgetLister(E:是Azure驱动器。)我想从Azure C:驱动器(C:\ Web \ ARC)运行它。
它从项目的bin / Debug文件夹中完美运行。当我将EXE和相关的DLL复制到C:并启动EXE时,一切都运行良好,直到遇到第一个特定于AdWords的说明。然后我得到
Unhandled Exception: System.ApplicationException: The SoapListenerExtension class is not loaded. The most possible cause for this error is that you haven't registered Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extension under configuration/system.web/webServices/soapExtensionTypes in your your App.config or Web.config. See the sample App.config for details on how to register soap extensions.
at Google.Api.Ads.Common.Lib.AdsSoapClient.InitForCall(String methodName, Object[] parameters)
at Google.Api.Ads.AdWords.Lib.AdWordsSoapClient.InitForCall(String methodName, Object[] parameters)
at Google.Api.Ads.Common.Lib.AdsSoapClient.MakeApiCall(String methodName, Object[] parameters)
at Google.Api.Ads.Common.Lib.AdsSoapClient.Invoke(String methodName, Object[] parameters)
at Google.Api.Ads.AdWords.v201603.ManagedCustomerService.get(Selector serviceSelector)
at BudgetLister.Program.getHierarchy(AdWordsUser user) in E:\Sources\BudgetLister\BudgetLister\Program.cs:line 410
--- End of inner exception stack trace ---
at BudgetLister.Program.getHierarchy(AdWordsUser user) in E:\Sources\BudgetLister\BudgetLister\Program.cs:line 458
at BudgetLister.Program.doListDB(AdWordsUser user, String billingId, String since, Config cfg) in E:\Sources\BudgetLister\BudgetLister\Program.cs:line 237
at BudgetLister.Program.Main(String[] args) in E:\Sources\BudgetLister\BudgetLister\Program.cs:line 134
现在我肯定知道我有registered Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extension under configuration/system.web/webServices/soapExtensionTypes in your your App.config
因为我可以在IDE的App.config文件中看到它。此外,如果我没有从E:驱动器启动它将无法工作。那么为什么它不适用于C:?