If I coded my .net application using version 4.5 and the client machine that will run the application only has .net version 2.0, will the application run?
When coding in .net(mainly in c#) do you guys keep in mind the .net versions your clients maybe using?
Also, if I used some of the newer features(such as linq2sql, optional parameters, etc..) that are only available on later .net versions in coding my application, will those have effects if the client machine has only earlier versions?
Your client must have the framework you target or higher. So, if you write a .Net application that uses the 4.5 framework, your clients must have the 4.5 framework installed on their computer, or your application will not run. If you write an application that targets the .Net 2.0 framework, your client can be running any version of .Net 2.0 or higher and use your application.
Take a look at the .Net Version Compatibility article at MSDN:
Also take a look at the .Net Framework Versions and Dependencies article on MSDN:
There are many considerations to account for when deciding the version of .Net to target, including the benefits of running a newer framework (does it have newer features you’d like to use). Take a look at this Stack Overflow question for some more thoughts on the topic: What .NET Framework and C# version should I target with my class library?