I have an ASP.MVC 3 project that I am trying to get building on our build server. We are using nant for our build script to do a variety of stuff, however we are using the MSBUILD task to compile our code. Our MVC3 project won't compile on the build machine with the error that it is missing cMicrosoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets.
I have installed the Windows .NET SDK and included Tools and Reference Assemblies and I've installed MVC 3 on the server.
Copying "WebApplication.targets" to my solution directory is not an option.
Installing Visual Studio on the build machine is not an option.
Any thoughts?
The issue is not unique for ASP.NET MVC. The same issue exists with the old ASP.NET web application projects. The common solution has been to copy the stated folder from a computer that has Visual Studio installed to your build machine.
Related
I have raspberry PI project on Windows IoT which have one main UWP app and couple .NET Standard 2.0 assemblies. Couple of assemblies have reference to HTTPnet nuget and this nuget internally have version for full framework, UWP and .NET Standard. In Visual studio when I expand Dependencies for HTTPnet it shows everywhere that it is using .NET standard but after deploy and run I have exception that HTTPnet.Netstandard.dll file is not found. After investigating RPI filesystem I noticed that deployed dll is HTTPnet.UniversalWindows.dll and HTTPnet.Netstandard.dll is missing.
The question is how to force using .net standard on deploy?
For now I added HTTPnet.Netstandard.dll to my UWP references but this is not good solution in long terms.
Is there some kind of deployment wizard I can run and have it install just the things it needs to run right onto the server end point? Do I have to build the project using VS2010 on the server? If I can't get this thing deployed today I am really going to be screwed.
IIS 6 is there and I think .NET 4 is installed (I tried installing it from Microsoft and they had me install a million things like VS2010 express and SQL Server and all this other crap, the install failed but .NET 4 does show up in IIS).
I achieved this by enabling an FTP site for the IIS server website and using this to deploy the web application within visual studio 2010 which will build and deploy just the changed files for each build. Works very well. You can even add a Publish toolbar to help deploy regularly more easily.
All you have to do is install the .NET Framework 4.0 (32 / 64 depending on build) and run aspnet_regiis.exe in the Framework folder.
For me this is located here:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe
Hope this helps!
You can also use the publish command from VS 2010 to save it to the filesystem and then copy the files into an IIS site on the target server. Just map a network drive to X: or something (for your sites root) and publish directly to the share.
You can take a look at Web Deployment projects or even the VS "Publish" feature
From the Build menu in VS2010, just click Publish [name of your web project] and enter the location on your web server where the site is going to be hosted.
VS2010 will publish the files required there.
It shouldn't be necessary to install VS2010 Express, just to deploy a site. But if .Net 4 and ASP.NET MVC 3 is installed, you should be able to deploy. Right click the web app in VS2010, and hit Publish.
Remember to set the configuration to Release!
But, with IIS 6 you could be in for a fight in regard to HTTP Modules, Handlers and other server configuration. Anything inside your Web.config's system.webServer section will always be ignored by IIS 6.
I have just upgraded a solution with two web deployment projects from VS 2008 to 2010 (upgrading all the projects to .net 4.0 as I went).
I installed the new VS2010 web deployment projects to allow me to open my old build projects (these build up my web sites, clean up a few files and zip them for upload).
I've got these working again, but when I look at the built files, all the referenced .net framework files (e.g. System.Web.dll etc) have been included in the deployed site. Does anybody know why this might be happening and how to turn it off?
Maybe you are using a component (DLL) which is using that files probably by needing specific file version of some framework libraries. VS will automatically copy dependencies of a dependency.
It seems you're using .Net framework Client profile version. Please check the .Net framework version selected for upgraded projects under Project properties.
Here is the MSDN article on .Net framework client profile:
http://msdn.microsoft.com/en-us/library/cc656912.aspx
One reason could be the Copy Local = True property of the referenced .net framework files.
I have a VS 10 project using .Net 4.0 and I use lots of stuff that do require 4.0. I created a VS Setup project added the primary output from my project and built it. I then installed it and everything worked fine. A few days later I am ready to do a new build so I rebuild my project and then the setup project. Now when I run the msi it tells me that .Net Framework 4.0 is required.... I figured I screwed it up so I just create a new setup project, and that works fine. But again a few days later (restarted VS in there probably and maybe even the computer) I rebuild and get the error telling me that .Net 4.0 is required. I did it a few times just to verify and it consistently happens and I cannot figure out why.
The project I am building and installing has a windows service that is set as the startup project. I will switch that to a console app object for local testing purposes and build and test the project (not the setup project). This is the only thing I can think of that may be impacting the build, but again, I cannot figure out why.
Any help is appreciated.
This error message is thrown when the Launch Conditions in the Setup Project aren't met.
Go to View > Editor > Launch Conditions
Change the .Net Framework version value to
match the version your setup project
is compiled into. By default, the 2010 setup and deployment project condition is set to .NET 4.0 Client Profile.
Using VS 2008
I created a setup file for my Project, I run the setup file in my system, and My Project is working fine.
If I install my project to another system, is asking .Net Framework 3.5 at the setup time.
.Net Framework 3.5 is needed for installing my Project?
Before i installing my project, i install the .net framework 3.5, It taking to much time to setup?
How to solve this? or any other way to create a Project setup ?
Can any one help to solve my setup problem.
What you need to do is right click on the setup project in the SolutionExplorer and select the Properties menu option. You can then click on the Prerequisites button. This allows you to control what your setup program needs/wants in order to install your code.
If you don't need .NET 3.5 then just unselect it. This is just one more annoying thing that VS2008 does, you select .NET 2.0 as your target framework but it leaves .NET 3.5 as a pre-req.
If it is important for you that your program does ot require .NET 3.5, you can set up your project to target .NET 2.0. The the setup project will also see this, and (hopefully) remove the dependency when you update it.
If your project is VB.NET, you can set the Target Framework version here:
Project Properties -> Compile -> Advanced Compile Options...
If Your project is C#, it is here:
Project Properties -> Application
If you do this, of course you will not have available any .NET 3 specific functionality.
Do you rely on .net 35 features in your code. If not you can recompile with the project settings targetting .net 3.0 or 2.0.
The .NET 3.5 framework has two different installers to choose from: the bootstrapper and the full package.
The bootstrapper installer is small in size (2.7 MB). It's small because it downloads the required files from the internet when executed on the target machine. Depending upon the target's network bandwidth, it may take a long time to run.
The full package installer is large (237 MB), and does not require an internet connection to run.
If you are currently using the bootstrapper installer, you should try downloading the full package installer and running that on the target machines.
(That is, if you actually need .NET 3.5)
You can select either installer from here.