抛出:当我运行我的应用程序版本 .exe 时,“无法加载文件或程序集错误”
Posted
技术标签:
【中文标题】抛出:当我运行我的应用程序版本 .exe 时,“无法加载文件或程序集错误”【英文标题】:Throwing: 'Could not load file or assembly error' when I run my application release .exe 【发布时间】:2015-06-23 18:35:41 【问题描述】:当我在发布文件夹中运行程序的 .exe 时,将以下错误写入应用程序错误日志文件:
<logEntry>
<Date>23/06/2015 20:00:50</Date>
<Exception>
<Source>Twitter_twitinvi</Source>
<Message>Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.</Message>
<Stack> at Twitter_twitinvi.Program.RunTwitterApplication()
at Twitter_twitinvi.Program.Main(String[] args) in c:\Users\nikhil\Desktop\MediaLabs\Backup\BackupTwitter\Program.cs:line 64</Stack>
</Exception>
</logEntry>
我已尝试重新安装 Newtonsoft 以确保与版本控制没有冲突。该应用程序通过VS2012运行良好
我的意图是在捕获异常时重新启动应用程序,这是我的代码:
static void Main(string[] args)
try
RunTwitterApplication();
catch (Exception e)
LogWriter.LogWriter.WriteLog(e);
Process.Start(@"C:\Users\nikhil\Desktop\MediaLabs\Backup\Twitter_twitinvi\Twitter_twitinvi\obj\Release\Twitter_twitinvi.exe");
private static void RunTwitterApplication()
这行得通吗?一旦 .exe 文件开始运行,当然不会出现上述错误
谢谢
【问题讨论】:
我已经回答了你问题的前半部分。关于你的 try/catch 块的第二部分真的应该是它自己的问题。 【参考方案1】:您似乎没有正确复制资源。
进入 Visual Studio 的解决方案资源管理器窗口,打开项目的“引用”选项卡,然后确保 Newtonsoft.Json
引用的“复制本地”属性设置为“真”。
【讨论】:
您好,感谢您的回复。我检查了 Copy local 属性并将其设置为 true。还有什么可能是错的吗? 您是否必须更改属性,还是始终设置为“True”?如果您必须更改它,请在重建之前尝试清洁。还要确保Newtonsoft.Json
的“参考”条目旁边没有黄色感叹号 (!)。这 !表示引用无效,需要重新设置。事实上,不管怎样,重新设置参考可能是个好主意。 (删除引用,然后重新添加)。以上是关于抛出:当我运行我的应用程序版本 .exe 时,“无法加载文件或程序集错误”的主要内容,如果未能解决你的问题,请参考以下文章
当我的应用程序无法在调试模式下运行,但 exe 文件可以正常运行时,这意味着啥?