我试图使用我用VisualStudioforVisualStudioforVISUAL4.5创建的程序集在MonoDevelop 4.2.3中创建一个应用程序,但我收到以下警告:
/usr/lib/mono/4.5/Microsoft.Common.Target:警告:引用'System.Diagnostics.Tracing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a‘未解析(ListenerBinTest)
当然,当我试图运行这个应用程序时,这个错误失败了:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Diagnostics.Tracing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
at System.Threading.Tasks.Dataflow.TransformBlock`2[System.Net.Sockets.Socket,vtortola.WebSockets.WebSocketListener+WebSocketNegotiationResult]..ctor (System.Func`2 transform, System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions dataflowBlockOptions) [0x00000] in <filename unknown>:0
at vtortola.WebSockets.WebSocketListener..ctor (System.Net.IPEndPoint endpoint, vtortola.WebSockets.WebSocketListenerOptions options) [0x00000] in <filename unknown>:0
at vtortola.WebSockets.WebSocketListener..ctor (System.Net.IPEndPoint endpoint) [0x00000] in <filename unknown>:0
at ListenerBinTest.MainClass.Main (System.String[] args) [0x00010] in /home/vtortola/ListenerBinTest/ListenerBinTest/Program.cs:12老实说,我没有使用任何与System.Diagnostics.Tracing相关的内容,但显然System.Threading.Tasks.Dataflow使用了。
这是我的设计:
=== MonoDevelop ===
Version 4.2.3
Installation UUID: 2798c094-3f0b-42d7-afe4-2984107bea4e
Runtime:
Mono 3.2.8 (tarball Mon Mar 10 19:20:49 UTC 2014) (64-bit)
GTK+ 2.24.22 theme: oxygen-gtk
GTK# (2.12.0.0)
=== Build Information ===
Git revision:
Build date: 2014-03-10 20:43:25+0000
=== Operating System ===
Linux
Linux linux-nt8h.site 3.11.10-7-desktop #1 SMP PREEMPT Mon Feb 3 09:41:24 UTC 2014 (750023e) x86_64 x86_64 x86_64 GNU/Linux我该如何解决这个问题?
谢谢。
发布于 2014-05-11 10:10:56
不幸的是,Mono3.2.8没有将System.Diagnostics.Tracing.dll作为其完整.NET框架实现的一部分。
但是,应该能够通过将System.Diagnostics.Tracing.dll的PCL版本复制到您的项目中并引用它来解决这个问题。这假设您实际上没有在项目中使用任何System.Diagnostics.Tracing.dll,因为PCL库可能没有任何实现。
安装了Mono3.4.0之后,您可以复制一个System.Diagnostics.Tracing.dll文件。为了测试一切正常工作,我将以下文件复制到我的项目中:
/Library/Frameworks/Mono.framework/Versions/3.4.0/lib/mono/xbuild-frameworks/.NETPortable/v4.5/System.Diagnostics.Tracing.dll这是在Mac上。您需要找到该文件,因为Linux上的位置不同,Mono3.2.8中的位置也可能不同。它似乎在Profile7中,应该包含在Mono3.2.8中。.dll也可以从微软便携式图书馆参考组件下载中获得。不幸的是,该下载要求Windows能够安装带有可移植库dll的.zip文件。
该文件被复制到项目中,因为您不能在添加引用的同时使用Xamarin浏览到它。这是因为它隐藏在一个目录中,因为目录以一个点开始。
在我的项目中直接引用System.Diagnostics.Tracing.dll,我可以让微软的示例DataFlow代码工作。
https://stackoverflow.com/questions/23581591
复制相似问题