How to use NUnit 3 in VS2015RC - c#

Is it possible to use NUnit3 Beta in VS2015RC?
I've just created a new Library Project (Package) and added NUnit and created a simple test to show the errors I'm getting.
Does it have some dependency on an older version of the framework?
project.json
Test Class
Update
The Release Notes say:
To work around this issue, follow these steps: Right-click the project
in which the errors are reported in Solution Explorer, and then click
Unload Project. Right-click again on the project in Solution Explorer,
and then click Edit .
Note In this command, represents the actual project
name. In the entry at the top of the project file that
has no Condition attribute, add the following:
true
Save and close the file. Right-click the project name in Solution
Explorer, and then click Reload Project.
However I cannot get this to work, I just get more warnings and errors in my errors window.

It is very likely that you should use xUnit.net for now,
https://github.com/aspnet/Testing/issues/34
NUnit won't be ported unless someone steps in.

Related

TFS Binding Invalid After Upgrading Project From VS2015 to VS2017

I began working on an .Net Core solution in VS 2015, which contains an ASP.Net Core project and a couple of .Net Core class libraries. The solution was under TFS source control.
I wanted to include some unit tests. Since .Net Core unit test project templates are not included with VS 2015, I decided to install VS 2017 and upgrade the solution. After upgrading, I was able to add a unit test project and everything compiles and runs normally.
When I first opened the solution after upgrading, though, I initially got an error about the solution being treated as though it was not under source control. Based on Google searches, I went into File -> Source Control -> Advanced -> Change Source Control and clicked "Bind" on each project. The three old projects link right up and show up as "Valid", while the solution file and the new unit test project show up as "Invalid". Unbinding, unloading, reloading, and rebinding the invalid project did not help. I can force the project to bind even though it is invalid (against Visual Studio's warnings), and after some tinkering, I can get the solution to check in, but when I get latest on another machine, the three original projects say "Not Available" and the unit test project is not visible.
Other symptoms: project.json is not found when I try to check in (I have to "undo" or "exclude" to check the solution in) and regardless of what I try, the invalid unit test project's folder shows up in the root folder of the directory tree (at the same level as "src" and "Backup") while the valid projects are in the "src" directory. I am inferring this is because the new solution types allow an .xproj file, while the old solutions required project.json, but I don't know what to do about it...
Any ideas on how to relink this to source control would be appreciated! I did not upgrade TFS server when I upgraded VS, but I don't directly have access to it, so hopefully this is not a requirement...
To fix the invalid binding in VS, you could try to follow below steps:
Click the “invalid” project in Solution Explorer.
Open “File | Source Control | Change Source Control”
Unbind the invalid project.
In Solution Explorer, Unload the project.
In Solution Explorer, Reload the project.
Also clear TFS and VS cache, delete the old workspace, create a new one, get all projects you need from TFS source control. Everything should be back on track.
Sledgehammer approach not normally needed, just Delete the contents from the following folder
C:\Users\<<Your Alias>>\AppData\Local\Microsoft\Team Foundation
Do not delete the rest unless necessary, fix the cause not the symptom.
My issue was that the project name had a period '.' in it. Removed it and the change source control Bind was Valid.
I tried all the solution above and none of them worked for me.
But I found a way to force add project. In Visual Studio :
Go to team explorer
Click on Home
Click on Source Control Explorer
Select the directory and click on "Add Items to Folder" (the icon is a file with a little green + in the top left corner)
Add your project files
... problem solved

Run outputType library project

I have an ASP.NET project with outputType library, I need to run the project but it's not running. what outputType should i use to make my project run?
In order to fix the above error, right click the Solution name in Visual
Studio 2005/2008 and select Set as StartUp Project option from the popup menu.
source : Fix: A project with an Output type of Class Library cannot be started directly
Despite ASP.NET projects have Class Library type, Visual Studio can "run" these types of projects(it deploys project's output to IIS or dev server and starts web-app).
So to solve your problem you should tell Visual Studio somehow that your project is ASP.NET project. I see to ways:
1-st one - fast, straighforward, dumb, but reliable: create new "ASP.NET Web Application" project in visual studio and copy all sources to it.
2-nd - not sure that it's working, but more hack'ier and fun: open YourProject.csproj file in text editor, replace <ProjectTypeGuids ...> section by such ones, that could be found in csproj file of ASP.NET project.
Class library projects can not be run, you can debug them though. See Debugging DLL Projects
A project with an output type of class Library cannot be started directly.In order to debug this project, add an executable project to this solution which references the library project. Set the executable project as the startup project.Means
In VS.Net - right click on the page you want to be the initial startup page and set it to be the startup page.

"Build" builds my project, "Build Solution" doesn't

I've just started using VS2010. I've got a largish solution that migrated successfully from VS2008. I've added a console application project called "Test" to the solution. Selecting build->build solution does not compile the new project. Selecting build->build Test does build the project. In the failure case, no error is given.
Similarly, setting this project as the startup project and pressing F5 to start debugging also fails to compile.
I'm upset by this. Can anyone calm me down by telling me what I'm doing wrong?
EDIT
I don't know if this is relevant or not, but today I installed AnhkSVN 2.1.8420 (latest version).
Make sure the solution configuration is set to build your new project.
Go to Build | Configuration Manager and see if the build checkbox is set for your project
For me it was incorrect build order. Right click on the solution and click on Project Build Order.... If anything is built in the wrong order switch to tab Dependencies and set correct values. After this everything worked for me.

"A project with an Output type of Class Library cannot be started directly"

I downloaded a C# project and I wish to debug the project to see how an algorithm implementation works.
The project has come in a Folder, inside this folder there are -
.sln file and
a folder which has source files and a .csproj file.
I installed Visual Studio and opened the .sln file present in the main folder. I built the project successfully, but when I try to debug the project I get this message:
A project with an Output type of Class Library cannot be started directly In order to debug this project, add an executable project to this solution which references the library project. Set the executable project as the startup project.
The strange part is that I don't see a main function anywhere.
What should I do to get round this hiccup?
The project you have downloaded compiles into a dll assembly and provide a set of classes with implemented functionality.
You should add to your solution a new project with Output Type of either Console Application or Windows Application (VS Add Project wizard will offer you different templates of Projects).
In the newly added project, you can implement logic to test your Class Library.
Output type of the project you can find and change by the following steps:
Right click on project in Solution Explorer -> Properties.
In opened tab with properties select Application and there will be ComboBox marked with Output Type label.
Just right click on the Project Solution
A window pops up.
Expand the common Properties.
Select Start Up Project
In there on right hand side Select radio button with Single Startup Project
Select your Project in there and apply.
That's it. Now save and build your project. Run the project to see the output.
This was the solution that worked for me since I couldn't find 'Common Properties' option.
Select your topmost level project in Solution Explorer.
Go to Project, and in contextual menu Set as StartUp Project.
See also: A project with an Output type of Class Library cannot be started directly
Just needs to go:
Solution Explorer-->Go to Properties --->change(Single Startup project) from.dll to .web
Then try to debug it.
Surely your problem will be solved.
The strange part is that I don't see a main function anywhere.
That is exactly your problem. The project merely creates a DLL. It has no executable to run.
You will need to add a second project, which is an executable which references the other project, and calls something in it.
1) Right Click on **Solution Explorer**
2) Go to the **Properties**
3) Expand **Common Properties**
4) Select **Start Up Project**
5) click the radio button (**Single Start_up Project**)
6) select your Project name
7) Then Debug Your project
Right Click on "Solution Explorer" -> "Properties"
Expand "Common Properties"
Select "Start Up Project"
click the radio button "Single Start_up Project"
select your Project name from the drop down list.
If still not working after the above steps, then try this.
Expand solutions explorer.
Right click on project name -> "Properties"
Go to "Application" tab
Select "Output type"
From the drop down list select the appropriate type according to your application.
"Windows application" or
"Console application"
Then save (ctrl + S)
Try debugging (F5)
You'll need some kind of app (Console Apps are my favorite for debugging, but a WinForm will do) which uses your Class Library. Just add a new project (in the same solution) of a Console Application or Windows Forms Application, and add a reference to your current project. Once you've done that, make any calls you need, set your break points, and go to town.
I had a similar issue when trying to use the Experimental Instance of Visual Studio 2013. This was for a vsix project (Creating Snippets).
Solution was:
Right Click Project in Solution Explorer > Properties > Debug
Setting the Start Action to "Start external program" and using the following path:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
This option was set to "Start project" which won't work for the application output type Class Library, which caused that same error.
Note: Yours may differ depending on how you installed VS.
Error solutions is that you have already open your project but by mistake you have selected another class library .. that's reason this error is showing ... so what u need to do you u just select u r project then right click on u r project
after right click u can see the list box and select the "Set as start up project " option .
Accepted answer works if your solution has a project that compiles to an exe. If your solution does not have any projects that compile to an exe, then you have to use 'Start external program'.
VS2019 instructions:
right click -> properties on the main solution
debug, start external program, and add command line arguments
VS2022 instructions:
right click -> properties on the main solution
scroll down to Debug
Debug > General > Open debug launch profiles UI
left click the 'new' icon in the top left, select 'executable'
fill it out as per VS2019 (pick the exe and add command line arguments)
when clicking the start button, first select the profile you made
Suppose you have multiple project in the solution. Select the project that you want to view in browser and select 'Set as StartUp Project'. In your multiple project soln which was the main, the visual studio was unable to identify. this was the main problem.
You can right click the Class Library project and from the drop-down choose Initialize Interactive C# which will load your project context and you can work it in the interactive session.
In my case, the cause was that one of my projects in the solution wasn't loaded. The reason it couldn't load properly was that the file path length of one of the files was too long. Upon deleting this long file, I could reload the project, and build the solution.
If the question involves an Azure project, make sure you have the "Azure development" tool set installed, or when you go to run a solution you may get this same error.
Tools > Get Tools and Features... > Tick the box next to Azure development > Click install
None of the answers provided above helped me resolve this error, this is what resolved the issue for me.
Right click on the solution and select "Properties", which is in my case "Sintctech.Data".
Select the section called "Application".
Check what you have selected as your output type. If it is "Windows Application", change it to "Console Appication".
Rebuild and the problem should be fixed.

Class Library Project File not compiling into .dll or debugging

in my solution:
i have a class library project that compiles into a dll.
i have a web project.
(i have multiple solutions with different web projects but the same class library)
one of the files in the class project (utilities.cs) - all of a sudden won't compile into the .dll
i had made a change to this file, but the change wouldn't show on the website. so i put a breakpoint in the .cs file, and tried running it... breakpoint didn't get hit! eventually i put a breakpoint in the .aspx file that called the function. then i stepped the debugger one line on, so it would step into the .cs file, except i got the error:
"This source file has changed. It no longer matches the version of the file used to build the application being debugged."
so the code in utilities.cs is not being updated into the dll. which is weird, because code in my other .cs files IS being updated (i tried changing a few lines) and IS able to catch the debug.
any ideas how to fix this? or even what the cause of the problem is??
Try:
Right click on Solution in Solution Explorer -> Properties -> Configuration Properties -> Make sure Build checkbox is checked for your class library.
You need to find out why the DLL will not build:
Look at the output window for any errors
Check the Errors window
Fix the errors and try building again.
The dll that you are trying to debug is from an older version of your code that did compile OK and the debugger pickes that up and is trying to debug against that - it is complaining because the code and the dll no longer match.
Try doing a Build -> Clean on the solution and then rebuilding to see the errors.
When You adding new references to Web project You must choose "Projects" tab:
Projects lists all reusable components created from local projects.
Add or Remove References in Visual
Studio
Add a Reference to a Visual Studio
Project in a Web Site
Always rebuild all projects in Release and Debug mode.
I did exactly what #nightcoder said but a simple change was required. Go to Configuration Properties(Right click on Solution in Solution Explorer -> Properties -> Configuration Properties) and select "All Configurations" in Configuration option.
This created the .dll for me
This happened to me after switching between branches in a project which have significant differences between them, I tried every solution from the web but non worked.
Finally, I had to delete my local project files and clone the project from the GitHub repo again, after that when I started the project, the project build worked without errors, and dll was generated.

Categories