C# 无法加载文件或程序集

C# 无法加载文件或程序集,c#,.net-3.5,devexpress,filenotfoundexception,C#,.net 3.5,Devexpress,Filenotfoundexception,我有一个域对象的集合。它被称为company.xpo.domain(它是由最初命名该项目的承包商命名的,他们与我们在一起的时间更长——我们拥有该软件)。我将名称空间全局重命名为xpo.domain,并将设计器中的默认名称空间更改为xpo.domain 我还在VisualStudio中找到了“公司”的整个解决方案,但什么也没找到 我的问题是这样的: 在程序集中有一个用户对象,它有一个静态方法“Login”,该方法接受用户名和密码,检查数据库中的名称/密码,如果没有找到任何内容,则返回null 在该

我有一个域对象的集合。它被称为company.xpo.domain(它是由最初命名该项目的承包商命名的,他们与我们在一起的时间更长——我们拥有该软件)。我将名称空间全局重命名为xpo.domain,并将设计器中的默认名称空间更改为xpo.domain

我还在VisualStudio中找到了“公司”的整个解决方案,但什么也没找到

我的问题是这样的:

在程序集中有一个用户对象,它有一个静态方法“Login”,该方法接受用户名和密码,检查数据库中的名称/密码,如果没有找到任何内容,则返回null

在该静态方法中,它为company.xpo.domain程序集抛出FileNotFoundException。这让我感到困惑,因为抛出异常的代码存在于它要查找的程序集中(但它要查找的是以前的程序集名称)

编辑 这是堆栈跟踪。为了安全起见,我刚刚对软件名和程序集名进行了重命名

System.IO.FileNotFoundException occurred
  Message="Could not load file or assembly 'company.XPO.domain' or one of its dependencies. The system cannot find the file specified."
  Source="mscorlib"
  FileName="company.XPO.domain"
  FusionLog="=== Pre-bind state information ===
LOG: User = STOONP001\\Administrator
LOG: DisplayName = company.XPO.domain\n (Partial)
LOG: Appbase = file:///C:/Documents and Settings/Administrator/Desktop/softwareName/softwareName/bin/Debug/
LOG: Initial PrivatePath = NULL
Calling assembly : DevExpress.Data.v9.2, Version=9.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\\Documents and Settings\\Administrator\\Desktop\\softwareName\\softwareName\\bin\\Debug\\softwareName.vshost.exe.config
LOG: Using machine configuration file from c:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\config\\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Documents and Settings/Administrator/Desktop/softwareName/softwareName/bin/Debug/company.XPO.domain.DLL.
LOG: Attempting download of new URL file:///C:/Documents and Settings/Administrator/Desktop/softwareName/softwareName/bin/Debug/company.XPO.domain/company.XPO.domain.DLL.
LOG: Attempting download of new URL file:///C:/Documents and Settings/Administrator/Desktop/softwareName/softwareName/bin/Debug/company.XPO.domain.EXE.
LOG: Attempting download of new URL file:///C:/Documents and Settings/Administrator/Desktop/softwareName/softwareName/bin/Debug/company.XPO.domain/company.XPO.domain.EXE."
    StackTrace:
        at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
        at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
    InnerException
编辑2

调用堆栈(如果有帮助的话)就在这里。似乎devexpress.data.utils抛出了错误,但我无法控制该类(如果该程序集确实存在问题)

mscorlib.dll!System.Reflection.Assembly.nLoad(System.Reflection.AssemblyName文件名、字符串代码库、System.Security.Policy.Evidence assemblySecurity、System.Reflection.Assembly locationHint、ref System.Threading.StackScrawMark stackMark、bool throwOnFileNotFound、bool ForInterspection)+0x2c字节
mscorlib.dll!System.Reflection.Assembly.LoadWithPartialNameInternal(字符串partialName,System.Security.Policy.Evidence securityEvidence=null,参考System.Threading.StackScrawMark stackMark=LookForMyCaller)+0x6b字节
mscorlib.dll!System.Reflection.Assembly.LoadWithPartialName(字符串partialName)+0x1b字节
DevExpress.Data.v9.2.dll!DevExpress.Data.Utils.Helpers.LoadWithPartialName(string partialName=“company.XPO.domain”)+0x1f字节
DevExpress.Data.v9.2.dll!DevExpress.Xpo.Helpers.XPTypeActivator.GetType(string assemblyName=“company.Xpo.domain”,string typeName=“company.Xpo.domain.customer”)+0xd0字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Metadata.ReflectionDictionary.ResolveClassInfoByName(string assemblyName=“company.Xpo.domain”,string typeName=“company.Xpo.domain.customer”)+0x50字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Metadata.ReflectionDictionary.QueryCassInfo(string assemblyName=“company.Xpo.domain”,string className=“company.Xpo.domain.customer”)+0xde字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.XPObjectType.TypeClassInfo.get()+0x55字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.XPObjectType.IsValidType.get()+0x1f字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.XPObjectTypesManager.FillLoadedTypes(System.Collections.ICollection objectTypesList=Count=23)+0xfa字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.XPObjectTypesManager.GetAllTypes()+0x278字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.XPObjectTypesManager.EnsureLiseTypedObjectValid()+0x1e字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.ObjectCollectionLoader.InternalLoadData(DevExpress.Xpo.ObjectsQuery[]查询={DevExpress.Xpo.ObjectsQuery[1]})+0x5a字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.ObjectCollectionLoader.LoadObjects(DevExpress.Xpo.ObjectsQuery[]查询={DevExpress.Xpo.ObjectsQuery[1]})+0xda字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.GetObjects(DevExpress.Xpo.ObjectsQuery[]查询={DevExpress.Xpo.ObjectsQuery[1]})+0x58字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.GetObjects(DevExpress.Xpo.ObjectsQuery查询={DevExpress.Xpo.ObjectsQuery})+0x55字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.GetObjects(DevExpress.Xpo.Metadata.XPClassInfo classInfo={Xpo.domain.sys_user},DevExpress.Data.Filtering.CriteriaOperator条件={[Username]='Username'和[Password1]='password'},DevExpress.Xpo.SortingCollection排序=null,int-topSelectedRecords=1,bool-SelectedDeleted=false,bool-force=false)+0x9b字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.InternalFindLoad(DevExpress.Xpo.Metadata.XPClassInfo baseType={Xpo.domain.sys\u user},DevExpress.Data.Filtering.CriteriaOperator条件={[Username]='Username'和[Password1]='password'},bool selectDeleted=false)+0x38字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.FindObject(DevExpress.Xpo.Metadata.XPClassInfo classInfo={Xpo.domain.sys_user},DevExpress.Data.Filtering.CriteriaOperator条件={[Username]='Username'和[Password1]='password'},bool selectDeleted=false)+0x2d字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.FindObject(System.Type classType={Name=“sys_user”FullName=“Xpo.domain.sys_user”},DevExpress.Data.Filtering.CriteriaOperator条件={[Username]=“Username”和[Password1]=“password”},bool selectDeleted=false)+0x52字节
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.FindObject(DevExpress.Data.Filtering.CriteriaOperator条件={[Username]=“Username”和[Password1]=“password”})+0x57字节

注意:我也用DevExpress创建了一个案例,以防万一。我完全被难住了。

我肯定需要查看堆栈跟踪和/或代码才能真正确定,但在我看来,程序集中可能存在某种循环引用,其中一个引用了旧程序集。但这完全只是一种暗中操作。

如果可以,如果适用,我会检查与您可能拥有的任何类型数据集相关的代码;我在重命名类型化数据集类中的名称空间时遇到问题。我不得不进去,不得不手动进行“搜索和替换”

再说一次,这对你来说可能并不重要

编辑--

另一个p
mscorlib.dll!System.Reflection.Assembly.nLoad(System.Reflection.AssemblyName fileName, string codeBase, System.Security.Policy.Evidence assemblySecurity, System.Reflection.Assembly locationHint, ref System.Threading.StackCrawlMark stackMark, bool throwOnFileNotFound, bool forIntrospection) + 0x2c bytes 
mscorlib.dll!System.Reflection.Assembly.LoadWithPartialNameInternal(string partialName, System.Security.Policy.Evidence securityEvidence = null, ref System.Threading.StackCrawlMark stackMark = LookForMyCaller) + 0x6b bytes  
mscorlib.dll!System.Reflection.Assembly.LoadWithPartialName(string partialName) + 0x1b bytes    
DevExpress.Data.v9.2.dll!DevExpress.Data.Utils.Helpers.LoadWithPartialName(string partialName = "company.XPO.domain") + 0x1f bytes  
DevExpress.Data.v9.2.dll!DevExpress.Xpo.Helpers.XPTypeActivator.GetType(string assemblyName = "company.XPO.domain", string typeName = "company.XPO.domain.customer") + 0xd0 bytes   
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Metadata.ReflectionDictionary.ResolveClassInfoByName(string assemblyName = "company.XPO.domain", string typeName = "company.XPO.domain.customer") + 0x50 bytes   
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Metadata.ReflectionDictionary.QueryClassInfo(string assemblyName = "company.XPO.domain", string className = "company.XPO.domain.customer") + 0xde bytes  
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.XPObjectType.TypeClassInfo.get() + 0x55 bytes    
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.XPObjectType.IsValidType.get() + 0x1f bytes  
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.XPObjectTypesManager.FillLoadedTypes(System.Collections.ICollection objectTypesList = Count = 23) + 0xfa bytes   
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.XPObjectTypesManager.GetAllTypes() + 0x278 bytes 
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.XPObjectTypesManager.EnsureIsTypedObjectValid() + 0x1e bytes 
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.ObjectCollectionLoader.InternalLoadData(DevExpress.Xpo.ObjectsQuery[] queries = {DevExpress.Xpo.ObjectsQuery[1]}) + 0x5a bytes   
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Helpers.ObjectCollectionLoader.LoadObjects(DevExpress.Xpo.ObjectsQuery[] queries = {DevExpress.Xpo.ObjectsQuery[1]}) + 0xda bytes    
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.GetObjects(DevExpress.Xpo.ObjectsQuery[] queries = {DevExpress.Xpo.ObjectsQuery[1]}) + 0x58 bytes    
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.GetObjects(DevExpress.Xpo.ObjectsQuery query = {DevExpress.Xpo.ObjectsQuery}) + 0x55 bytes   
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.GetObjects(DevExpress.Xpo.Metadata.XPClassInfo classInfo = {XPO.domain.sys_user}, DevExpress.Data.Filtering.CriteriaOperator criteria = {[Username] = 'username' And [Password1] = 'password'}, DevExpress.Xpo.SortingCollection sorting = null, int topSelectedRecords = 1, bool selectDeleted = false, bool force = false) + 0x9b bytes    
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.InternalFindAndLoad(DevExpress.Xpo.Metadata.XPClassInfo baseType = {XPO.domain.sys_user}, DevExpress.Data.Filtering.CriteriaOperator criteria = {[Username] = 'username' And [Password1] = 'password'}, bool selectDeleted = false) + 0x38 bytes 
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.FindObject(DevExpress.Xpo.Metadata.XPClassInfo classInfo = {XPO.domain.sys_user}, DevExpress.Data.Filtering.CriteriaOperator criteria = {[Username] = 'username' And [Password1] = 'password'}, bool selectDeleted = false) + 0x2d bytes 
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.FindObject(System.Type classType = {Name = "sys_user" FullName = "XPO.domain.sys_user"}, DevExpress.Data.Filtering.CriteriaOperator criteria = {[Username] = 'username' And [Password1] = 'password'}, bool selectDeleted = false) + 0x52 bytes  
DevExpress.Xpo.v9.2.dll!DevExpress.Xpo.Session.FindObject<XPO.domain.sys_user>(DevExpress.Data.Filtering.CriteriaOperator criteria = {[Username] = 'username' And [Password1] = 'password'}) + 0x57 bytes