.net-4.0 interview questions
Top .net-4.0 frequently asked interview questions
Since I upgraded my project to visual studio 2010 project format, my C++/CLI project is targeted to .net framework 4.0.
It is easy to switch the framework version to another version from a C# project, but I have no clue how to do this in a C++/CLI project, I see no setting for this in the project property pages.
Source: (StackOverflow)
This DLL is added by default in Visual Studio 2010 projects. What is this new assembly used for? It does not seem to contain much after looking at it using Reflector and Google does not seem to have much to say about it either.
Source: (StackOverflow)
There doesn't appear to be a generic implementation of OrderedDictionary
(which is in the System.Collections.Specialized
namespace) in .NET 3.5. Is there one that I'm missing?
I've found implementations out there to provide the functionality, but wondered if/why there isn't a generic implementation out-of-the-box and if anyone knows whether it's something in .NET 4.0?
Source: (StackOverflow)
I'm trying to compile my excel addin using C# 4.0, and started to get this problem when building my project in Visual Studio. It's important to tell you that I haven't had this problem before. What could cause this to happen?
Source: (StackOverflow)
I need to get a dictionary of properties and their values from an object declared with the dynamic keyword in .NET 4? It seems using reflection for this will not work.
Example:
dynamic s = new ExpandoObject();
s.Path = "/Home";
s.Name = "Home";
// How do I enumerate the Path and Name properties and get their values?
IDictionary<string, object> propertyValues = ???
Source: (StackOverflow)
I have a project in which I'd like to use some of the .NET 4.0 features but a core requirement is that I can use the System.Data.SQLite framework which is compiled against 2.X. I see mention of this being possible such as the accepted answer here but I don't see how to actually achieve this.
When I just try and run my 4.0 project while referencing the 2.X assembly I get:
Mixed mode assembly is built against version 'v2.0.50727' of the runtime
and cannot be loaded in the 4.0 runtime without additional
configuration information.
What "additional configuration" is necessary?
Source: (StackOverflow)
The ExpandoObject class being added to .NET 4 allows you to arbitrarily set properties onto an object at runtime.
Are there any advantages to this over using a Dictionary<string,object>
, or really even a Hashtable? As far as I can tell, this is nothing but a hash table that you can access with slightly more succinct syntax.
For example, why is this:
dynamic obj = new ExpandoObject();
obj.MyInt = 3;
obj.MyString = "Foo";
Console.WriteLine(obj.MyString);
Really better, or substantially different, than:
var obj = new Dictionary<string, object>();
obj["MyInt"] = 3;
obj["MyString"] = "Foo";
Console.WriteLine(obj["MyString"]);
What real advantages are gained by using ExpandoObject instead of just using an arbitrary dictionary type, other than not being obvious that you're using a type that's going to be determined at runtime.
Source: (StackOverflow)
For Visual Studio 2010 Web based application we have Config Transformation features by which we can maintain multiple configuration files for different environments. But the same feature is not available for App.Config files for Windows Services/WinForms or Console Application.
There is a workaround available as suggested here: Applying XDT magic to App.Config.
However it is not straightforward and requires a number of steps. Is there an easier way to achieve the same for app.config files?
Source: (StackOverflow)
The Microsoft .NET Framework 4.0 full installer (32- and 64-bit) is 48.1 MB and the Client Profile installer is 41.0 MB. The extracted installation files are 237 MB and 194 MB respectively, and once installed, they are 537 MB and 427 MB.
This is a difference of 110 MB. What difference is there between the two packages?
When is it preferable to install the Client Profile instead of the full .NET Framework?
Source: (StackOverflow)
I'm running Windows 7 Ultimate (64 bit) using Visual Studio 2010 RC. I recently decided to have VS run/debug my apps on IIS rather than the dev server that comes with it.
However, every time I try to run an MVC app, I get the following error:
HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory. Detailed
Error Information
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler StaticFile Error
Code 0x00000000 Requested
URL http://localhost:80/mySite/
Physical
Path C:\myProject\mySite\
Logon Method Anonymous Logon
User Anonymous
I placed a default.aspx
file in the directory and I received the following error:
HTTP Error 500.21 - Internal Server
Error Handler
"PageHandlerFactory-Integrated" has a
bad module "ManagedPipelineHandler" in
its module list
Are there any other steps I forgot to take to get this working?
Notes: I installed IIS 7.5 after installing VS 2010 RC. I used the built-in "Create Virtual Directory" button under the "Web" tab in the MVC project's "Properties" in Visual Studio 2010. I made sure that the application is using the ASP.NET 4 App Pool.
Below are the installed features of IIS I have.
Source: (StackOverflow)
%windir%\Microsoft.NET\assembly\
is the new GAC. Does it mean now we have to manage two GACs, one for .NET 2.0-3.5 applications and the other for .NET 4.0 applications?
The question is, why?
Source: (StackOverflow)
I am updating a PowerShell script that manages some .NET assemblies. The script was written for assemblies built against .NET 2 (the same version of the framework that PowerShell runs with), but now needs to work with .NET 4 assemblies as well as .NET 2 assemblies.
Since .NET 4 supports running applications built against older versions of the framework, it seems like the simplest solution is to launch PowerShell with the .NET 4 runtime when I need to run it against .NET 4 assemblies.
How can I run PowerShell with the .NET 4 runtime?
Source: (StackOverflow)
Certain System.Threading.Tasks.Task
constructors take a CancellationToken
as a parameter:
CancellationTokenSource source = new CancellationTokenSource();
Task t = new Task (/* method */, source.Token);
What baffles me about this is that there is no way from inside the method body to actually get at the token passed in (e.g., nothing like Task.CurrentTask.CancellationToken
). The token has to be provided through some other mechanism, such as the state object or captured in a lambda.
So what purpose does providing the cancellation token in the constructor serve?
Source: (StackOverflow)
I Installed DotNetOpenAuth SDK-3.4.5.10201.vsix and I can't get it working.
It works locally (when I run as localhost) but when i try to publish it ain't working.
The IIS error message I get is
Error Summary
HTTP Error 500.22 - Internal Server Error
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.
AND
Module ConfigurationValidationModule
Notification BeginRequest
Handler StaticFile
Error Code 0x80070032
then there are some suggestions on how to solve the problem:
Things you can try:
Migrate the configuration to the
system.webServer/modules
section. You
can do so manually or by using AppCmd
from the command line - for example,
%SystemRoot%\system32\inetsrv\appcmd
migrate config "Default Web Site/"
.
Using AppCmd
to migrate your
application will enable it to work in
Integrated mode, and continue to work
in Classic mode and on previous
versions of IIS.
If you are certain that it is OK to
ignore this error, it can be disabled
by setting
system.webServer/validation@validateIntegratedModeConfiguration
to false.
Alternatively, switch the application
to a Classic mode application pool -
for example,
%SystemRoot%\system32\inetsrv\appcmd
set app "Default Web Site/"
/applicationPool:"Classic .NET
AppPool"
. Only do this if you are
unable to migrate your application.
(Set "Default Web Site" and "Classic .NET AppPool" to your application path and application pool name)
But the problem is that I don't have access to the ISS server as I am not the owner of it. Is there any way to solve this?
Source: (StackOverflow)
Trying to build my project on the build server gives me the following error:
Microsoft (R) Build Engine Version 4.0.30319.1
error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
I solved this problem a few months ago, with installing Visual Studio 2010 on the Build Server. But now I'm setup a new server from scratch, and I want to know if there any better solution to solve this issue.
Source: (StackOverflow)