无法加载文件或程序集'ServiceStack'或其某个依赖项。系统找不到指定的文件。

3
我试图将我的Web应用程序部署到服务器上,
服务器:Vindows Server 2008 R2企业版 IIS版本:7.5 框架版本:4.0.30319.17929
但是出现以下错误:
Server Error in '/salavirtual' Application.

Could not load file or assembly 'ServiceStack' or one of its dependencies.   
The system cannot find the file specified.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'ServiceStack' or one of its dependencies. The system cannot find the file specified.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Assembly Load Trace: The following information can be helpful to determine why the assembly 'ServiceStack' could not be loaded.


 WRN: Assembly binding logging is turned OFF.
 To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
 Note: There is some performance penalty associated with assembly bind failure logging.
 To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Stack Trace:


[FileNotFoundException: Could not load file or assembly 'ServiceStack' or one of its dependencies. The system cannot find the file specified.]
 System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
 System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) +70
 System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +39
 System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +62
 System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +65
 System.Web.Handlers.AssemblyResourceLoader.EnsureHandlerExistenceChecked() +397    
 System.Web.Handlers.AssemblyResourceLoader.IsValidWebResourceRequest(HttpContext context) +12
 System.Web.Security.FormsAuthenticationModule.OnEnter(Object source, EventArgs eventArgs) +158
 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136
 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929
2个回答

1
听起来你有.dll/NuGet包依赖问题。
我会进行一次干净的构建,关闭VS.NET,删除/packages文件夹,然后重新打开VS.NET并重新构建解决方案以恢复所有包。之后检查/packages文件夹,确保所有ServiceStack包都具有相同的版本,例如v4.0.46。如果不是,请升级所有项目以确保它们引用相同的NuGet版本。

1
嗨,mythz,感谢您的信息和快速回复。根据您的答案,我执行了以下步骤:
  1. 我打开了“工具”->“NuGet包管理器”->“程序包管理器控制台”。
  2. 我选择了要发布的项目。
  3. 我执行了“Install-Package ServiceStack -Version 3.9.71”。
  4. 然后,当我发布项目时,一切都运行得很完美。
非常感谢您的帮助。
- Don Pablone

0

感谢您提供的信息和快速回复。

根据您的答案,我执行了以下步骤:

  1. 我打开了“工具”-->“NuGet程序包管理器”-->“程序包管理器控制台”
  2. 我选择要发布的项目。
  3. 我执行了“Uninstall-Package ServiceStack”
  4. 然后,我执行了“Install-Package ServiceStack -Version 3.9.71”
  5. 最后,当我发布项目时,一切都运行得很完美。

非常感谢您的帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接