我在ASP.NET(C#)上有一个Web应用程序,它有一些预编译组件。我一直在支持它,没有任何问题,添加功能和扩展。现在我正面临另一个需要调用远程SOAP服务的扩展。
我已经尝试过根据我在这里得到的一些建议 - 通过添加Web Reference,创建代理类等等,但Visual抱怨应用程序是预编译的。
以下是编译器的实际输出:
目录 '/ trxv / App_WebReferences /'不是 允许,因为应用程序是 预编译。描述:未处理 期间发生了异常 执行当前的Web请求。 请查看堆栈跟踪了解更多信息 有关错误的信息和位置 它起源于代码。
异常详细信息: System.Web.HttpException:The 目录'/ trxv / App_WebReferences /' 不允许因为申请 是预编译的。
来源错误:
生成了未处理的异常 在执行当前 网络请求。有关的信息 异常的起源和位置 可以使用例外来识别 堆栈跟踪下面。
堆栈追踪:
[HttpException(0x80004005):The 目录'/ trxv / App_WebReferences /' 不允许因为申请 预编译。]
System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir,CodeDirectoryType dirType, 字符串assemblyName,StringSet excludedSubdirectories,布尔 isDirectoryAllowed)+8805619
System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir,CodeDirectoryType dirType, 字符串assemblyName,StringSet excludedSubdirectories)+128
System.Web.Compilation.BuildManager.CompileWebRefDirectory() +31 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() 312[HttpException(0x80004005):The 目录'/ trxv / App_WebReferences /' 不允许因为申请 预编译。]
System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +58 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +512 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)+729[HttpException(0x80004005):The 目录'/ trxv / App_WebReferences /' 不允许因为申请 预编译。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext的 上下文)+8886319
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext的 上下文)+85
System.Web.HttpRuntime.ProcessRequestInternal(的HttpWorkerRequest wr)+259版本信息:Microsoft .NET 框架版本:2.0.50727.3053; ASP.NET版本:2.0.50727.3053
是否还有其他或多或少的简单(即高级)调用SOAP客户端的方法,不需要重新编译?不幸的是,该系统的原始源代码不可用。
答案 0 :(得分:1)
亚历,
请注意我最近的编辑。问题与您没有Web应用程序这一事实有关 - 您有一个Web站点。它们很独特,也很奇怪。
我从不使用它们,除非我必须这样做,所以我实际上从未见过这个例外。不过,它似乎确实是最终的。所以这是你必须解决这个问题的方法:
创建一个单独的类库项目。将Web引用添加到类库中,然后构建它。然后,看看您是否可以在网页中引用类库。类库应该包含代理类。