BrandonPotter / SimpleTCP

Straightforward .NET library to handle the repetitive tasks of spinning up and working with TCP sockets (client and server).
Apache License 2.0
365 stars 108 forks source link

.NET 3.5 Winform support? #21

Closed itsmebhavin closed 7 years ago

itsmebhavin commented 7 years ago

I am not able to install Nuget because my project is in old .net 3.5 framework which can't be upgrade. Do you suggest any ways to use SimpleTCP with 3.5 based project?

BrandonPotter commented 7 years ago

We need to do some work to build this library for more targets in NuGet. For now, you can likely download the source and just add the project to your solution, it's pretty simple (no pun intended)...

itsmebhavin commented 7 years ago

Sure , thank you for your prompt reply. As of now i will add project ref.

itsmebhavin commented 7 years ago

Sure , thank you for your prompt reply. As of now i will add project ref.

itsmebhavin commented 7 years ago

@BrandonPotter Even with adding project source code into solution, I am not able to use SimpleTCP with my 3.5 based project as SimpleTCP is targeted to 4. I am getting following error -

Severity    Code    Description Project File    Line    Suppression State
Warning     The primary reference "{path}\SimpleTCP\SimpleTCP\bin\Release\SimpleTCP.dll" could not be resolved because it has an indirect dependency on the framework assembly "System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v3.5". To resolve this problem, either remove the reference "{path}\SimpleTCP\SimpleTCP\bin\Release\SimpleTCP.dll" or retarget your application to a framework version which contains "System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
Severity    Code    Description Project File    Line    Suppression State
Warning     The referenced project 'SimpleTCP' is targeting a higher framework version (4.5) than this project’s current target framework version (3.5). This may lead to build failures if types from assemblies outside this project’s target framework are used by any project in the dependency chain.  

Please let me know if there is any solution or a way i can use TCP Server in 3.5 .NET app. Thanks.

BrandonPotter commented 7 years ago

Did you right click the SimpleTCP project and change the framework version to something that matches yours?

I don't think there's a whole lot in SimpleTCP that wouldn't work in 3.5.

BrandonPotter commented 7 years ago

Right click SimpleTCP > Properties, rather

itsmebhavin commented 7 years ago

@BrandonPotter I tried setting target f/w to 3.5 in your project but it's not compiling in that case. here is whole trace from compilation -

The type 'SimpleTCP.Message' cannot be used as type parameter 'TEventArgs' in the generic type or method 'EventHandler<TEventArgs>'. There is no implicit reference conversion from 'SimpleTCP.Message' to 'System.EventArgs'.  SimpleTCP   D:\SimpleTCP\SimpleTCP\SimpleTcpClient.cs
The type or namespace name 'Concurrent' does not exist in the namespace 'System.Collections' (are you missing an assembly reference?)   SimpleTCP   D:\Projects\Arkansas-Git\MOVE\SimpleTCP\SimpleTCP\SimpleTcpServer.cs
itsmebhavin commented 7 years ago

Issue is fixed by modifying some code compatible to 3.5. Thanks.

g82perinet commented 3 years ago

Did you right click the SimpleTCP project and change the framework version to something that matches yours?

I don't think there's a whole lot in SimpleTCP that wouldn't work in 3.5.

Right click SimpleTCP > Properties, rather

Hello Brandon Potter, Thanks for great work. Well, it will seem paradoxal but for me, it works with a project targetting .NetCore 3.0 but it does not work with another project targetting .NetFramework 4.0. On one hand, if I use the one based on .NetCore 3.0, I can use TCP but no chart (like System.Windows.Controls.DataVisualization.Charting) on the other hand, if I use .NETFramework V4.0, I am allowed to use charts but no TCP functionality. Right click on SimpleTCP > Properties? There is no such thing available in the NuGet window... What am I missing?

Thank you again.