无法在Visual Studio 2012 C#中加载文件或程序集
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了无法在Visual Studio 2012 C#中加载文件或程序集,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3572字,纯文字阅读大概需要6分钟。
内容图文
![无法在Visual Studio 2012 C#中加载文件或程序集](/upload/InfoBanner/zyjiaocheng/678/1e90a7289c354434bac7469dc1a4d70d.jpg)
我正在使用Windows 7上的Visual Studio 2012编写C#代码.我的解决方案包含多个项目.
我最近在解决方案中添加了一个新项目,并在解决方案中的其他2个项目(其中一个是启动项目)的引用中添加了该新项目的dll.新项目本身引用了我的解决方案中未包含的其他几个项目.
在解决方案中构建项目可以正常工作,但是当我尝试运行程序(在Debug或Release中)时,出现错误.这是错误:
System.IO.FileNotFoundException was caught
HResult=-2147024894
Message=Could not load file or assembly 'ABCD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Source=NP
FileName=ABCD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
FusionLog==== Pre-bind state information ===
LOG: User = MyCompany\MyName
LOG: DisplayName = ABCD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = file:///C:/Users/MyName/Documents/Visual Studio 2012/Projects/MyProgram/Analysis/bin/Debug/
LOG: Initial PrivatePath = NULL
Calling assembly : NP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\MyName\Documents\Visual Studio 2012\Projects\MyProgram\Analysis\bin\Debug\Analysis.vshost.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\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:/Users/MyName/Documents/Visual Studio 2012/Projects/MyProgram/Analysis/bin/Debug/ABCD.DLL.
LOG: Attempting download of new URL file:///C:/Users/MyName/Documents/Visual Studio 2012/Projects/MyProgram/Analysis/bin/Debug/ABCD/ABCD.DLL.
LOG: Attempting download of new URL file:///C:/Users/MyName/Documents/Visual Studio 2012/Projects/MyProgram/Analysis/bin/Debug/ABCD.EXE.
LOG: Attempting download of new URL file:///C:/Users/MyName/Documents/Visual Studio 2012/Projects/MyProgram/Analysis/bin/Debug/ABCD/ABCD.EXE.
StackTrace:
at NewProject.DATA.SetType(NP np, String code, OrderType orderT, MODEL MODELv)
at NewProject.DATA.SetData(NP np, String no, String type, String law, String time, OrderType orderT, MODEL MODELv)
InnerException:
分析是我的启动项目.
NewProject是我最近添加到解决方案中的项目.
NewProject中引用了ABCD.dll,但项目ABCD本身不是解决方案的一部分.
在此错误中,据说AppBase是file:/// C:/ Users / MyName / Documents / Visual Studio 2012 / Projects / MyProgram / Analysis / bin / Debug /
但是,当我查看NewProject中的ABCD参考时,它说:
Assembly ABCD
C:\Users\MyName\Documents\Visual Studio 2012\Projects\np\bin\ABCD.dll
确实,ABCD.dll中没有在AppBase地址中写入错误.但我从未说过它在那儿,我也不知道它来自哪里.
我试图将ABCD.dll放入错误给我的AppBase地址中.但是每次我重建NewProject并(然后)我的启动项目Analysis时,ABCD.dll从C:/ Users / MyName / Documents / Visual Studio 2012 / Projects / MyProgram / Analysis / bin / Debug /
我是Visual Studio的新手.添加新项目时,我可能做错了什么,但我不明白它是什么.如果您对解决此问题的方法有想法,请不要犹豫!
解决方法:
如果在项目之间需要引用,则添加“项目引用”而不是引用DLL文件.如果您确实需要引用DLL文件,则:
1)在您的项目中创建一个“库”(或其他内容)文件夹.
2)将引用的DLL复制到该文件夹??中.
3)在VS中,使用“添加现有项”将DLL文件添加到项目中.在文件选择对话框中,您需要将文件过滤器更改为*.*,以便DLL出现.
4)在此DLL节点的属性下,在“生成”选项中选择“如果更新则复制”.
5)在“库”目录中添加对DLL文件的引用.
项目之间的引用当然更好,因为在重建它们时,引用会自动更新.否则,每次您要更新引用时,都需要用一个新的DLL文件替换.
内容总结
以上是互联网集市为您收集整理的无法在Visual Studio 2012 C#中加载文件或程序集全部内容,希望文章能够帮你解决无法在Visual Studio 2012 C#中加载文件或程序集所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。