繁体   English   中英

如何修改预编译的ASP.NET网站? Visual Studio抱怨网站已预编译

[英]How to modify precompiled ASP.NET web site? Visual Studio complains that site is precompiled

我在ASP.NET(C#)上有一个Web应用程序,该应用程序具有一些预编译的组件。 从很长一段时间以来,我一直在毫无问题地支持它,添加了功能并进行了扩展。 现在,我面临着另一个扩展,该扩展需要调用远程SOAP服务。

我尝试根据我在此处提出的一些建议进行此操作-通过添加Web引用,创建代理类以及所有其他方法,但是Visual抱怨该应用程序已预编译。

这是编译器的实际输出:

不允许目录“ / trxv / App_WebReferences /”,因为该应用程序已预编译。 说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

异常详细信息:System.Web.HttpException:不允许目录'/ trxv / App_WebReferences /,因为应用程序已预编译。

源错误:

当前Web请求的执行期间生成了未处理的异常。 可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。

堆栈跟踪:

[HttpException(0x80004005):不允许目录'/ trxv / App_WebReferences /,因为应用程序已预编译。
System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir,CodeDirectoryType dirType,字符串assemblyName,排除StringSet的子目录,布尔值isDirectoryAllowed)+8805619
System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir,CodeDirectoryType dirType,字符串assemblyName,排除StringSet的子目录)+128
System.Web.Compilation.BuildManager.CompileWebRefDirectory()+31 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()+312

[HttpException(0x80004005):不允许目录'/ 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 hostParameter

[HttpException(0x80004005):不允许目录'/ trxv / App_WebReferences /,因为应用程序已预编译。
System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+8886319
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文)+85
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)+259

版本信息:Microsoft .NET Framework版本:2.0.50727.3053; ASP.NET版本:2.0.50727.3053

是否有其他或多或少的简单(即高级)调用SOAP客户端的方法,这些方法不需要重新编译? 不幸的是,该系统的原始源代码不可用。

亚历克斯

注意我最近的编辑。 该问题与以下事实有关:您没有Web应用程序-您拥有一个网站。 它们是独特而奇怪的。

除非必要,否则我从不使用它们,因此我实际上从未见过这种异常。 不过,它似乎确实是最终的。 因此,这是您必须解决的方法:

创建一个单独的类库项目。 将Web引用添加到类库,并进行构建。 然后,查看是否可以在网页中引用类库。 类库应包含代理类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM