- If you open NUnit project with NUnit, the app.config file will have to be in the same folder as the NUnit project file and have the same name as the project file name:
- If you open Visual Studio .dll file, the app.config will have to be in the same folder as the project file and have the same name as the project file name (including the extension):
- If you open Visual Studio project (.csproj) or solution (.sln) file with your NUnit, the app.config will have to be in the same folder as the project file and have the same name as the project file name:
I have already copied app.config file as instructed here but still get the same error. So, what could be the problem here?
Apparently, this error simply means the system not able to access database, namely: Connection String problem.
This is how I access my connection string:
Above code will not return the connection string I have in
web.config file. I use Entity Framework and in Entity Framework, the correct way to get connection string is:
My Visual Studio solution contains 5 projects, one of them is for unit testing purpose.
The unit testing project is referencing to Entity Framework library where I query data from database. Well, since the Entity Framework is depending on app.config for the connection string, my NUnit returns error when I run it. This is because NUnit can’t find the connection string in app.config file. The error is:
System.TypeInitializationException: The type initializer for ‘…’ threw an exception.
System.ArgumentException: The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
Here’s the screenshot (some information is blacked out on purpose). I use NUnit 2.5.9 for unit testing.
Two workarounds for this problem are stated below. You don’t have to apply both workarounds, just either one of them. In my case, the first one works like charm.
- Copy app.config file, paste it in the same folder as your .nunit file and rename it to the same as your NUnit project filename.
Example: NUnit project file is “C:\Users\Documents\Nunit\ProjectTest.nunit”. My app.config will have to be “C:\Users\Documents\Nunit\ProjectTest.config”
- Copy app.config file, paste it in the same folder as your library (.dll) file and rename it to the same as your library (.dll) filename.
Example: Library project file is “C:\Users\Documents\ProjectSolution\ProjectTest\bin\Debug\ProjectTest.dll”. My app.config will have to be “C:\Users\Documents\ProjectSolution\ProjectTest\bin\Debug\ProjectTest.dll.config” (if doesn’t work, try rename it to “C:\Users\Documents\ProjectSolution\ProjectTest\bin\Debug\ProjectTest.config”)