0

I have been looking for ways to read/write to shared folders in a Windows Machine via my Xamarin.Forms App.

So far I found two .Net libraries that i thought would solve my problem: SharpCifs and Xamarin.Android.jCIFS nevertheless, they are a porting and a binding of JCIFS respectively and as stated in this info JCIFS only supports SMB1 which is being deactivated from many Windows Machines since WCRY (as soon as I disable SMB1 on the remote PC, those libraries stop working.)

So, is there any .NET SMBv2+ Client Library available? Or, What would be an alternative to achieve this task (read/write to shared folders in a Windows Machine via my Xamarin.Forms App)?

deczaloth
  • 7,094
  • 4
  • 24
  • 59

2 Answers2

2

Visuality Systems sells two SMB2/3 libraries. One (NQE) is a C lib and can be ported to .NET. Another one, jNQ is pure Java. In bot cases, you will need to develop a thin .NET wrapper.

Mark Rabinovich
  • 359
  • 1
  • 1
  • It Looks like a good alternative in case that there isn't really a .Net library out there... Anyway, do you know how is it with the NQ library's license, would it be legal to bind it or port it? Would i have to buy the library and make the wrapper my self? Or what would you suggest in order to get the .Net Wrapper? – deczaloth Mar 15 '18 at 11:21
0

NQE is shipped in sources so it is easier to modify. jNQ is shipped in binaries, however, it is easier to use. Also JNQ may be chipper, imho. I am not an expert in writing .NET wrappers but I do not see issues in either approach. Just to know that both SMB libraries are using threads internally.

Mark Rabinovich
  • 359
  • 1
  • 1