Running Awesomium on .NET 3.5 - c#

Does anybody know how I can run Awesomium.NET on .NET 3.5? Seems to only work on 4.0-4.5.1 right now.
According to this question, Awesomium 1.7 should be compatible with 3.5 by adding Awesomium.Mono to the project instead, but it seems like I'm not able to do that. When choosing 3.5 project in Visual Studio the Awesomium.Mono just disappears from the references list.

Well when I started using Awesomium web browser at version 1.7.0 the reference dll are builded using .net 4.0 version. You should try to look for an older version like 1.6.6 or 1.6.5 and check if they are builded using a older .net version. If you target your project to .net 4.0 you should not have any problem because at least windows XP with service pack 3 should have installed .net framework 4.0. But windows XP support has ended.
A quick solution (but not the best) is to target the project to the .net 4.0 and export all dll references to the build path. That should make no problems when deploying the app to your clients machine because the exe will reference to the build path.
Could you give me the reasons of why you are targeting .net 3.5 so I can understand a little more your issue with .net versions and try to think about another solution for you?

Related

Older version of .Net not installed with latest Mono?

I've been working on a .NET 3.5 C# project using Visual Studio Community 2015, but I had always intended to do most of the development on Linux (Ubuntu Gnome 15.04) using Mono and MonoDevelop.
I'm running the latest stable Mono release (4.0.4) and MonoDevelop (5.9.6), which supports .NET 4.5 and can open the VS created solution file without issue.
Now I've been writing C++ apps on Linux for the best part of a decade, but C# and .NET are completely new to me. So I assumed that if I installed a Mono version that supports .NET 4.5, I would get .NET 3.5 as well because the later version is a superset of the older - much like a C++14 compiler supports C++03.
However this doesn't seem to be the case, as MonoDevelop states (under the Target Framework option for each project):
.NET Framework 4.5.1
Mono / .NET 4.5
Mono / .NET 3.5 (Not installed)
So do I have to install a parallel older version of Mono in order to get .NET 3.5 support, or am I just suffering a configuration problem?
No configuration issue, Mono dropped support for the older frameworks in the 4.x release. If you need to compile against the 3.5 assemblies, then yes, you will need a parallel install.
Dropped Support for Old Frameworks
Reference Assemblies
We no longer build the reference assemblies for the .NET 2.0, .NET 3.5
or .NET 4.0 APIs, we now ship binaries of the reference assemblies
(API contracts, without any actual executable code in them).
Mono will now only build the .NET 4.5 assemblies as well as the
mobile-based profiles.
Note: You can still run assemblies compiled for earlier .NET profiles
on Mono, there’s no need to recompile them (they’ll just run on the
.NET 4.5 assemblies instead).
I had a similar issue (project targeting .NET 4.0, but now only 4.5 is available through mono). My workaround was to create a symlink for 4.0:
On my Fedora 32 machine this was done by
cd /usr/lib/mono
sudo ln -s 4.5 4.0
This is supposed to work because there a (almost) no breaking changes between .NET 4 and 4.5 - YMMV
Finally, Got it to work. I'm using Visual Studio for Mac - https://www.visualstudio.com/vs/visual-studio-mac/
Under Preferences->Projects->.Net Runtimes you can change the Default .Net Runtime. It defaults to Mono 4.8.0.
This is located here on a mac : /Library/Frameworks/Mono.framework/Versions/4.8.0
From here you can download older versions of Mono https://download.mono-project.com/archive/
I downloaded 3.12.1 from https://download.mono-project.com/archive/3.12.1/macos-10-x86/
and copied it into the /Library/Frameworks/Mono.framework/Versions/ folder.
Within VisualStudio you can then add the .net framework and set it as default. My project then compiled.

Dotnet 4.0 upgrade from 2.0

i am working on a dotnet C# web application which was initially created with VS 2003. My goal is to upgrade this application to Dotnet 4.0 without changing any functionaltiy. The solution has 9 projects (1 web + 8 Library projects). The Web project refers the 8 libraries in DLLs. To start off, I created a New project in VS2010 and added the all the Project files from the existing source code. Every time i add a project file to my solution, i was prompted with the Converison wizard and i completed the conversion wizard succesfully and now the solution works fine. After the conversion, i noticed that Except the "Web" project, other projects are converted to Dotnet 2.0 but not 4.0. My application runs without error if i run it locally using VS2010. My questions are
Why the Class libaray project did not upgrade to 4.0? Currently the
Web project is shows up as Dotnet 4.0 and Libaray projects shows up
as Dotnet 2.0.
Can i deploy the application to IIS 7.0 with the
Dotnet runtime of 4.0? Will the Dlls created in version 2.0 work if my application
uses Dotnet 4.0 runtime version?
Please help...
If your'e migrating now, why not move directly to Visual Studio 2012, instead of 2010?
Anyway, what you can do is open the project properties in each of your projects, and change the target framework to the .NET framework 4.0.
Then if you get any compilation error you can probably easily solve it individually. This should be relatively easy if your projects are not too big.
As for your specific questions:
The automatic conversion would only change the format of the solution/projects to be compatible with the new version Visual Studio. It shouldn't change the target framework but you can change that yourself.
Yes, assemblies targeting .NET 2.0 can be loaded and used from assemblies targeting .NET 4.0.
1) Upgrading the solution/projects file only upgrades it's format so you can open it in VS 2010. It will usually leave the targeted .NET setting at the previous value. These are two seperate things. The wonderful thing about VS 2010 is it let's you target whatever version of .NET you desire, so no longer do you need multiple version of VS installed to support differnt .NET versions. It didn't change the targetted .NET version because it leaves it up to you. You can change it under the project settings and recompile your library projects to regenerate the DLLs
2) You will need an application pool for .NET 4. .NET is backwards compatible in that a .NET 2.0 app can run on a machine with .net 4 installed. However, the application pool for 2.0 applications must be separate from 4.0 apps. So it's just a matter of putting the app under the right app pool.

C# .net exe running on machine which has visual studio 2010 installed, however it is not responding where only .net 4.0 client profile is installed

My problem is that my C# .Net executable is running on machine which has Visual Studio 2010 installed, however it is not responding where only .Net 4.0 client profile is installed.
What could be the reason? I've tried with dependency walker but couldn't found anything.
While all of the other answers are correct, you might take a look on the "my project" page in your solution. There you can find (and eventually change) the used net versions. That is better than trying all net versions...
The client profile is a small and in most cases insufficient subset of the .NET runtime. Install the full .NET 4.0 runtime instead.
Try installing 4.5 Framework 3.5 and 3.0 frameworks also and see if it works.
http://www.microsoft.com/en-in/download/details.aspx?id=30653
That's because that VS2010 has and supports .NET Framework versions (2.0, 3.0, 3.5, 4.0). So try to instal all of them and also 4.5 Framework on that machine. Also, what you could do is to see on which Framework version have you made your project and you'll know which one you're machine is missing.
Try installing the "Microsoft Visual C++ 2010 Redistributable Package" on the machine where the executable is not working.

How to install Enterprise Library 5.0?

When I try to do it I get the error "The application requires .NET Framework 3.5 SP1." I have .NET 4.0, how do I install 3.5 SP1? Can I have both?
Feel free to install all versions of .Net. They will not interfere with each other!
For adding dependencies to your project I recommend NuGet. Really handy and makes the project clean by adding references into it instead of requiring additional installation packages.
.Net 4.0 projects are capable of using .Net 2.0, .Net 3.0 and .Net 3.5 libraries. But note that projects running under ".Net 4.0 Client Profile" can have problems doing this, and you only get a misleading error when attempting to run the project. From within Visual Studio everything seems right.
Just like Tedd Hansen says you can sure have as many .NET versions as you want in your computer for it creates no conflict at all. I take it you are just trying to install something. If that's the case then you can always use this link to download the bootstrapper that will determine the right 3.5 verison for you (x86 or x64) and download and install it.
If you are developing an application you can change the target framework of the project by going to the project properties page and, in the compile tab, click on the "Advanced Compile Options" button. There you'll be able to choose.
And, also as Tedd mentions, you should avoid targeting the "Client Profile" versions unless you specifically know that the subsets present therein are sufficient.
On my machine (Windows 7 Enterprise x86) I have installed .Net framework 4.0 and Enterprsie Library 5.0 without any problems. Maybe some other issue you're facing?
IAdapter,
I've answered this already. See my answer and the workaround in the comment dtd Feb 5, 2011.

Building a VS2008 .NET 3.0 solution without installing .NET 3.5 on build server

I am developing using 3.0 and VS 2008.
The problem is my build server does not have 3.5 installed and therefore I cant build the solution as MSBuild for 2.0 will not support the VS 2008 solution file.
There is no easy answer to this besides downgrading to VS 2005.
Any ideas folks?
VS2008 supports C# 3 - you may be using C# 3-specific features while still targeting .NET 2.0.
Is there a strong reason why you can't install .NET 3.5 on the build server? That would be my preferred solution, rather than regressing the version of VS you use.
You could probably automate downgrading the solution/project files - if you're not doing anything complicated, it'll just be a matter of changing version numbers - but it's not great to have the build server using a different compiler to the developers, IMO.
Since you have VS2008 projects and solutions you will need to install .NET 3.5 on you build server. Since you can still target .NET 3.0 or .NET 3.5 having .NET 3.5 installed on your build machine should not have any impact on the target environment.
Is it not possible to include the different versions without 'installing' them? In the repository can you add versioned .NET and point the build script to the version(I'm thinking like a submodule in Git) you want for that project? So instead of installing .NET 3.0, 3.5, 4.0, etc include the libraries?

Categories

Resources