这个项目的建设正在我朋友的电脑上运行但不在我的电脑上。
在这条回程线上:
protected static Database Connection2
{
get
{
try
{
return DatabaseFactory.CreateDatabase("HermesDB");
}
catch (Exception e)
{
//Corpnet.Elmah.Error.Add(e);
return null;
}
}
}
我收到以下错误:
具有显示名称的程序集 无法加载“Microsoft.Practices.EnterpriseLibrary.Validation” 具有ID 1的AppDomain的“加载”绑定上下文 失败的原因是:System.IO.FileNotFoundException:无法加载文件 或汇编'Microsoft.Practices.EnterpriseLibrary.Validation'或一个 它的依赖关系。该系统找不到指定的文件。文件 name:'Microsoft.Practices.EnterpriseLibrary.Validation'
===预绑定状态信息===日志:用户= MLABS \ agordon日志:DisplayName = Microsoft.Practices.EnterpriseLibrary.Validation (部分)LOG:Appbase = file:/// C:/ Documents and Settings / agordon / My 文件/项目/ BulkUploadToLOMDatabase / BulkUploadToLOMDatabase /斌/调试/ 日志:初始PrivatePath = NULL调用程序集: Microsoft.Practices.EnterpriseLibrary.Common,Version = 5.0.414.0, Culture = neutral,PublicKeyToken = null。 ===日志:此绑定在默认加载上下文中启动。日志:使用应用程序配置文件:C:\ Documents and Settings \ agordon \ My 文档\项目\ BulkUploadToLOMDatabase \ BulkUploadToLOMDatabase \ BIN \调试\ BulkUploadToLOMDatabase.vshost.exe.config 日志:使用来自的机器配置文件 C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ CONFIG \ machine.config中。 日志:此时政策未适用于参考(私人, 自定义,部分或基于位置的程序集绑定)。日志:正在尝试 下载新的URL文件:/// C:/ Documents and Settings / agordon / My 文件/项目/ BulkUploadToLOMDatabase / BulkUploadToLOMDatabase /斌/调试/ Microsoft.Practices.EnterpriseLibrary.Validation.DLL。 日志:尝试下载新的URL文件:/// C:/ Documents and 设置/ agordon /我的 文件/项目/ BulkUploadToLOMDatabase / BulkUploadToLOMDatabase /斌/调试/ Microsoft.Practices.EnterpriseLibrary.Validation / Microsoft.Practices.EnterpriseLibrary.Validation.DLL。 日志:尝试下载新的URL文件:/// C:/ Documents and 设置/ agordon /我的 文件/项目/ BulkUploadToLOMDatabase / BulkUploadToLOMDatabase /斌/调试/ Microsoft.Practices.EnterpriseLibrary.Validation.EXE。 日志:尝试下载新的URL文件:/// C:/ Documents and 设置/ agordon /我的 文件/项目/ BulkUploadToLOMDatabase / BulkUploadToLOMDatabase / bin中/调试/ Microsoft.Practices.EnterpriseLibrary.Validation / Microsoft.Practices.EnterpriseLibrary.Validation.EXE。
这里是我所有的参考资料:
我确实下载了最新的企业库并安装了它,我将上面所有的DLLS替换为所有更新版本的版本。
我做错了什么?
答案 0 :(得分:11)
好的,我找到了解决方案。我永远不能接受将异常作为答案。只是看起来有点错误......
似乎正在发生的事情是,在以前的程序集或当前程序集的先前版本中,某些引用是在外部使用的。即使你的代码可能早已放弃了那些引用,但在程序集中搜索的名称仍然是某些神秘的东西。
转到AssemblyInfo.cs文件并找到ThemeInfo:
[assembly: ThemeInfo(
ResourceDictionaryLocation.ExternalAssembly, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries))]
将第一个位置更改为'无':
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries))]
并保持您的例外开启!我将把这个答案发给这种类似性质的各种问题。
答案 1 :(得分:8)
这不是致命的错误;它是一个托管调试助手,提醒您一个潜在的问题 转到Debug,Exceptions并取消选中它。
您也可以按 F5 继续执行。
答案 2 :(得分:2)
我的项目中的一个组装件也遇到类似的问题。就我而言,这是由于程序集(dll)在bin / debug文件夹中不可用引起的。这是通过使用NuGet在父项目中安装引用的程序集来解决的,该程序在重建时在项目的bin / debug文件夹中创建了一个dll。您还可以尝试从dll的原始位置复制dll并将其粘贴到解决方案的bin / debug文件夹中。
这是我要解决问题的步骤。
(您必须以管理员身份启动Fusion Log Viewer,以便您可以更改设置。 在融合日志查看器中显示装配绑定。在线上有足够的资源介绍如何与Fusion Viewer一起使用
重建解决方案
答案 3 :(得分:1)
清理/bin
文件夹帮我解决了这个问题
答案 4 :(得分:1)
绑定失败修复:在Visual Studio 2015中 - >选项卡调试 - > Windows的>例外设置 - >输出右下方的设置板 - >托管调试助理 - >取消检查BindingFailure
答案 5 :(得分:0)
就我而言,它是 Mysql 包。 Packages.config 有一个旧版本的列表。我删除了它并通过 nuget 重新安装,它起作用了。
无需取消选中调试异常。