Where could I get mono's TPL.Dataflow? - mono

I am working with mono-3.0.10 on a Macbook. In the mono 3.0 release note, Tpl.Dataflow is mentioned, and I also noticed that the source code of Tpl.Dataflow is there in mono's github repo master branch.
But I couldn't find it in my local mono install.
logan#Logans-MBA /Library/Frameworks/Mono.framework
{13-06-04 3:47:48} $ find . -name "*.Dataflow.*"
./Versions/3.0.10/lib/mono/4.5/System.Threading.Tasks.Dataflow.dll
logan#Logans-MBA /Library/Frameworks/Mono.framework
{13-06-04 3:59:55} $ file ./Versions/3.0.10/lib/mono/4.5/System.Threading.Tasks.Dataflow.dll
./Versions/3.0.10/lib/mono/4.5/System.Threading.Tasks.Dataflow.dll: broken symbolic link to ../gac/System.Threading.Tasks.Dataflow/4.0.0.0__b77a5c561934e089/System.Threading.Tasks.Dataflow.dll
I have tried reinstall the mono from installer, but no luck.
Then, I tried the dlls downloaded from nuget, the following errors comes:
/Users/logan/Workspace/Camp/Dragon/ClientEventHandlerDemos/DataflowBlockClientEventHandler.cs(11,13): error CS0012: The type `System.Object' is defined in an assembly that is not referenced. Consider adding a reference to assembly `System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
/Users/logan/Workspace/Camp/Dragon/ClientEventHandlerDemos/DataflowBlockClientEventHandler.cs(11,34): error CS0012: The type `System.Action`1<TInput>' is defined in an assembly that is not referenced. Consider adding a reference to assembly `System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
There are 3 editions from nuget, net45, netcore45 and portable-net45. I tried them all, but still no luck.
So, where could I find the right update to date Tpl.Dataflow works with mono?

Related

Type 'ClientAssertionCertificate' exists in both '...ActiveDirectory.Platform' & '....ActiveDirectory'

I have a cproj which uses the method ClientAssertionCertificate from Microsoft.IdentityModel.Clients.ActiveDirectory. When I do a msbuild at the project level, I'm seeing this strange error.
error CS0433: The type 'ClientAssertionCertificate' exists in both 'Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.12.0.827, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'Microsoft.IdentityModel.Clients.ActiveDirectory, Version=4.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e3`
I'm sure that I'm referring only the PackageReference Microsoft.IdentityModel.Clients.ActiveDirectory and no references to any other package/assembly which has Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll.
Please let me know if any of you are aware of this and can guide me on where in the code should I do the troubleshoot.
I could figure out the issue. A project reference within my project was using a PackageReference to 'IpamAsrExports-master'. This package has the assembly "Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll" included within. After I upgraded the package 'IpamAsrExports-master' to a newer version, it resolved the issue.

Unable to Strong name an Microsoft.ToolKit.Uwp.UI.Controls assembly with StrongNamer, Any alternative?

Installed Microsoft.ToolKit.Uwp.UI.Controls from nuget to use MarkDownTextBlock control in my xaml user control. But ended up with error assembly is not strongly named.
To avoid it, Installed StrongNamer from nuget but now ended up with error 'Could not load file or assembly 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Are there any alternatives to avoid errors from step 1 or step 2?

system.design reference issue of WixSharp on .net 4

I'm trying to use WixSharp with .net 4, but I got this warning:
Warning The currently targeted framework ".NETFramework,Version=v4.0,Profile=Client" does not include "System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which the referenced assembly "WixSharp, Version=1.0.39.0, Culture=neutral, PublicKeyToken=3775edd25acc43c2, processorArchitecture=MSIL" depends on. This caused the referenced assembly to not resolve. To fix this, either (1) change the targeted framework for this project, or (2) remove the referenced assembly from the project.
I checked that System.Design is not referenced. When I tried to add reference to it, it's actually grayed out in add reference dialog.
As a result, just as the warning says, WixSharp is not resolved, and all namespaces in WixSharp has a missing of reference error.
How should I fix this? compile WixSharp from source?
Fei

NServiceBus appears to take a hard reference to version 2.0.0.0 via Ionic.Zip.dll

I'm using NServiceBus in a complicated solution (150+ projects, many of them use NSB). Up until last night, when I couldn't stand it anymore, every project had it's own target directories (./bin/debug and ./bin/release). Because of the dependencies between my projects, I was building and rebuilding the same binaries many times over, so we decided to change to a shared output directory for the whole thing, which dramatically improves the build time of the solution. So far so good...
However, when I tried to start up my project, it fails to start giving me the error:
Warning 1 : Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed. C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets 1697 5 My.Assembly.Goes.Here
Uh, oh. So, I dutifully turn up the log verbosity, clean and rebuild the whole mess, to find this in the log output:
30>------ Build started: Project: My.Assembly.Goes.Here, Configuration: Debug Any CPU ------
28>Building with tools version "12.0".
<Lots of stuff omitted...>
28> There was a conflict between "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes".
28> "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was chosen because it was primary and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes" was not.
28> References which depend on "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" [C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll].
<etcetera...>
Out comes Dependency Walker (great tool, btw). OK, so what's depending on the old 2.0 framework? Look for every reference to mscorlib and ... One of these things is not like the other...
NServiceBus.Hosting.Azure takes a dependency on Ionic.Zip.dll which, in turn, takes a dependency on the 2.0.0.0 version of mscorlib.dll. Ouch. FWIW, the version of NServiceBus.Hosting.Azure that does so is 5.3.2.0.
This looks to me to be similar to the issue here: https://github.com/Particular/NServiceBus/issues/664
Can I get around this with an Assembly Binding Redirect? Is there some way for me to tell NSB to tell Ionic.Zip.dll that the 4.0.0.0 version of mscorlib.dll is fine, thank you very much?
Or is this an NSB bug?
Thanks in advance.
A binding redirect on mscorlib should work in my opinion, or you could try a binding redirect on a newer version of dotnetziplib (Ionic) that targets 4.0

Using ILMerge to merge multiple dll files into one dll, some of the dll files cannot be used

I have a library project that is working properly, and it is using the fluent nhibernate, npgsql, enyim.caching dll files, I use the ilmerge to combine all files into one, and after that the merged dll file is referenced by another project, then it doesn't work, it complains cannot find assembly of enyim.caching.dll, and the missing configuration of nhibernate
The command I am using for merging is below
ilmerge /targetplatform:v4 /target:library /out:testmerged.dll Release/Enyim.Caching.dll Release/FluentNHibernate.dll Release/Iesi.Collections.dll Release/log4net.dll Release/Mono.Security.dll Release/NHibernate.Caches.SysCache.dll Release/NHibernate.dll Release/Npgsql.dll Release/mylib.dll
The error from the project referencing it:
Message = "'FluentNHibernate.Automapping.IAutoClasslike, testmerged, Version=2.12.0.0, Culture=neutral, PublicKeyToken=null' is missing a parameterless constructor."
Message = "Could not load file or assembly 'Enyim.Caching' or one of its dependencies. The system cannot find the file specified."
I pay attention to those 2 dll files are using the runtime version v2.0.50727, and all files under runtime version v4.0.30319 are working correctly.
So, can you guys give any suggestion how to fix this issue?
Thanks
Ok, finally, I found the solution to enyim.caching.dll
I have to add
<sectionGroup name="enyim.com">
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, testmerged"/>
</sectionGroup>
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, testmerged"/>
in my configuration file