Getting an ASP.Net application on an Apache Server - asp.net-mvc-3

I know this sounds like a long shot, but is this possible? I'd like to do this without using Mono so I can use Visual Studio and have all of the latest nitty gritties. I'm just not a fan of Windows Server; I feel more powerful using a command line in Linux, especially with Amazon ec2.

You can still use Visual Studio with Mono.... If you compile your code in Windows with Visual Studio your assemblies will run on Mono.
So you could easily deploy an EC2 Linux instance and setup your website with Apache2 and mod_mono. Then upload all of your assemblies and template files to your EC2 instance and you will be in business.

Related

How do I deploy a .net Core App from my Mac to Amazon AWS (Ubuntu)

I've created an C# app on my Macbook using Visual Studio Community edition, and would now like to deploy it on AWS.
While I could setup a windows machine on AWS, I want to challenge myself and try it on Linux.
Although I see a lot of tutorials saying you need to setup core yourself on the server, I think this is no longer necessary as it appears AWS can set this all up for you:
AWS Image:
So assuming I just do that, and now I have my server up, what happens next?
I know that I could use puTTY or FTP or something to move the files to the server, but is that the recommended approach? I read you can use 'dotnet publish" with arguments to create the package to deploy but still seems a bit archaic and time-consuming unless I make a script. Visual Studio for Windows allows much more robust publishing options, such as publishing directly to the server, but for Mac, what are the options to do this in a more robust fashion? What are others doing?
Thanks so much!
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.1&tabs=aspnetcore2x
A good way of getting your code inside is SSH and git clone your repository.

How to Deploy a Windows Service using Visual Studio 2017 Community

Working with VS2017 Community I have written a service that works on my local machine. I followed the instruction here:
https://learn.microsoft.com/en-us/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer
and installed it successfully using Installutil.exe (as per instructions in above link). All good.
I now want to deploy that across six servers in our organisation. In Microsoft's documentation about installing services (https://learn.microsoft.com/en-us/dotnet/framework/windows-services/how-to-install-and-uninstall-services) it says:
If you’re a developer who wants to release a Windows Service that users can install and uninstall you should use InstallShield
and links to a page that applies to VS2012 (can't post any more links as my reputation<10)
I have downloaded and installed the "Microsoft Visual Studio 2017 Installer Projects" package, which allows me to create a Setup Project. When I run it, it installs the project output correctly (i.e. copies the exe & dll files to the correct folder in Program Files) but does not create the service.
There's a detailed post about deploying services on this site (question 9021075) but when I follow those instructions I get a 1001 error on Install.
All the documentation I can find refers to earlier versions of VS or the previous Installer package, so I'm not even certain if I can do it with the software I am using.
So, with VS2017 Community using Microsoft Visual Studio 2017 Installer Projects, how to I create a stand-alone Installer to deploy a service that works correctly when installed locally using InstallUtil?
Or can I use InstallUtil on the target machines? I think I'd need to install Visual Studio on them for that, which I'd prefer not to. Is there a quicker way?
I only have 6 servers to install this on, so even some manual work-around might do.
Thank you for the responses. I now have a solution. I found InstallUtil on the Target Server (in my case it was in C:\Windows\Microsoft.NET\Framework64\v4.0.30319 but search will find it). I copied and added that to my project as content so when I now deploy it, I have InstallUtil in the same folder as my EXE.
To install, I run CMD as admin, cd to project folder and issue command:
installutil.exe myService.exe
This is a one-off task. Once the service is working, to update it I just need to stop it, upload the new myService.exe (& any DLLs) to overwrite the old ones and restart it again.
Further information about settings you're using for the serviceProcessInstaller1 and serviceInstaller1 files will be needed to debug this issue, as the 1001 error raised by the installer is a generic error.
An alternative way of doing this is to use Topshelf, which is a framework for hosting services written using the .NET framework. It simplifies the creation of services, allowing developers to create a simple console application that can be installed as a service using Topshelf. The reason for this is simple: It is far easier to debug a console application than a service. And once the application is tested and ready for production, Topshelf makes it easy to install the application as a service.
Alternatively, you could use InstallUtil.exe. It is part of the .NET Framework, so no need to install Visual Studio.

Visual Studio on Production

Does Visual Studio need to be installed on a production server?
My question is I need it to perform some task like (providers to connect to oracle for example) or only .net framework?
You would need only the appropriate .NET framework version on the production server. Then you can deploy your code, which was developed in some internal server, to the production server.
It's not needed at all. In fact, at most places I've seen Visual Studio is either implicitly or explicitly forbidden from production servers.
Apps that won't seem to run without VS having been installed usually just need some runtimes.

I want to keep my source protected on my development machine, how would I deploy ASP.NET MVC to the server?

I'm not exactly sure what to do, normally I do a commit to SVN and Cruise Control does all this stuff on the server to pull from the repo and deploy everything.
However I am just playing around for fun with my personal VPS and want to know how I can from Visual Studio 2010 (web express) on my local machine just make some kind of installer or DLL or whatever and how to deploy it to my VPS of Windows Server 2008.
Do I upload via FTP and run something or place some files in a certain location and configure through IIS? Or is there some way Visual Studio can just interface with my server and impregnate it with my beautiful code?
From the description given, I'd recommend 2 options:
check whether your server installation currently supports one-click publishing. It's likely an IIS configuration task(s) and/or ensuring your server supports MSDeploy/WebDeploy. See "One-Click Publishing - What's New". Publish Use Visual Studio 2010's Publish command to perform a Web Deploy of your solution.
setup an FTP server on your server. Use Visual Studio 2010's Publish command with the FTP option to push your built solution.
Would this MSDN article help?
The thing is there's capabilities in Visual studio that can publish a web application on a web server.
But you can always do an xcopy deployment as well. And since you've obviously never deployed a web application yet maybe it would be good to learn something and actually deploy it manually.

Building webparts with Visual Studio 2010 Express

I'm trying to get started with building my own webparts, planning to follow this MSDN article.
I've downloaded Visual C# 2010 Express - I'm not quite at the point where I feel comfortable dropping 1000 big ones yet, and I installed Visual Web Developer 2010 Express via the WPInstaller.
Following through the tutorial, aside from the fact that I don't get the option to create a "Web Control Library", a gap I filled with this article, I can't seem to find the sn.exe tool (or the "Visual Studio 2005 Command Prompt"!).
I know it's not quite a direct programming related question, but I can't even get the thing going yet!
Any help is appreciated.
Thanks
EDIT:-
I think I may be jumping the gun quite considerably, I wrote a simple hello world example and tried to build it but it doesn't have any references to the Microsoft.SharePoint packages and they don't appear in my lists.
Am I understanding some more research I've done (namely this) correctly, in that I have to actually have a full installation of actual SharePoint on the machine I'm developing on?
sn.exe is part of the .Net Framework SDK tools - not actually part of Visual Studio.
If you've got the SDK installed (which I think you must have if you're using VS) then it will be in a directory such as (depending on which version of .NET SDK you've got installed)
c:\program files\microsoft.net\SDK\v2.0\Bin
You can develop SharePoint web parts with VS express but you won't be able to use extensions like VSeWSS which can make your life a little easier.
You don't have develop on a machine with SharePoint installed upon - you can just copy the Microsoft.SharePoint.dll assembly from a machine with it installed on and reference it in your project.
There are pros and cons to developing on a SharePoint machine.
Its easier to get started -
especially debugging locally rather
than remote debugging.
Harder to be
sure that you're code will work a
'real server' - are you sure you
don't have any dependencies that may
not be installed.
Harder to work with
multiple versions of SharePoint (2007
WSS and MOSS and 2010 foundation,
server etc).
If you do want to work with a locally installed SharePoint then
You can install windows server OS with SharePoint and Visual Studio.
there is a hack for installing SharePoint 2007 on vista (referenced in the SO article you link to)
you can install SharePoint Foundation 2010 on Windows 7 (but I am not sure what the licensing restrictions are - is this maybe something thats given through MSDN?)
If you decide to go with the remote server installation then save yourself some grief and use virtualization such as VMWare Server, Virtual PC or Hyper-V.
If you are doing SharePoint development trying to reference the Microsoft.SharePoint namespaces you need to have SharePoint installed on the machine if you want to do things like debugging, etc. For SP 2010 you CAN install SharePoint on a Win 7 machine. For previous versions of SharePoint, you will need to setup a Server that is Server 2003 or Server 2008 (you can't install SP 2007 and earlier on client machines). Generally this is a Virtual Machine for developers.
Having said all of that, there are relatively few reasons you need SharePoint to develop a WebPart. The vast majority of the WebPart functionality is part of the System.Web.UI.WebControls.WebParts namespace. Even if I am accessing SharePoint data, I generally use the ASP.NET web part.
If you are trying to use the new SharePoint VS 2010 functionality to create Visual Web Parts, etc, then you will need to install SP 2010, since that functionality is not supported in earlier version of SharePoint.
John

Resources