首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mono中的System.Diagnostics.Tracing

Mono中的System.Diagnostics.Tracing
EN

Stack Overflow用户
提问于 2014-05-10 13:25:25
回答 1查看 2.3K关注 0票数 5

我试图使用我用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)

当然,当我试图运行这个应用程序时,这个错误失败了:

代码语言:javascript
运行
复制
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使用了。

这是我的设计:

代码语言:javascript
运行
复制
=== 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

我该如何解决这个问题?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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文件。为了测试一切正常工作,我将以下文件复制到我的项目中:

代码语言:javascript
运行
复制
/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代码工作。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23581591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档