GithubHelp home page GithubHelp logo

matt-softlogic / topshelf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from topshelf/topshelf

0.0 2.0 0.0 50.36 MB

An easy service hosting framework for building Windows services using .NET

Home Page: http://topshelf-project.com/

License: Apache License 2.0

Ruby 3.58% Shell 0.70% Python 1.43% C# 94.29%

topshelf's Introduction

Topshelf - An easy service hosting framework for building Windows services using .NET

TopShelf

Topshelf is a framework for hosting services written using the .NET framework. The creation of services is simplified, 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.

LICENSE

Apache 2.0 - see LICENSE

INFO

Getting started with TopShelf

Get started in four simple steps!

Step 1 (get the bits):

The easiest way to get Topshelf in your project is to use NuGet.

If you aren't using NuGet, you can always download the code.

Mailing List

Topshelf Discuss

Contributing

  1. Clone
  2. Branch
  3. git submodule init
  4. git submodule update
  5. Make changes
  6. Push
  7. Make a pull request

Source

  1. Clone the source down to your machine. git clone --recursive git://github.com/Topshelf/Topshelf.git
  2. Download git, ruby and gems. Install โ€“ a tutorial is here
  3. gem install rake albacore semver2
  4. Important: Run rake global_version in order to generate the SolutionVersion.cs file which is otherwise missing.
    • You must have git on the path in order to do this. (Right click on Computer > Advanced System Settings, Advanced (tab) > Environment Variables... > Append the git executable's directory at the end of the PATH environment variable.
  5. Edit with Visual Studio 2010 or alternatively edit and run rake. rake help displays all possible tasks that you can run. The package task, is what the build server does.
  6. The default is .Net 4.0. At the moment, editing the solution file for .Net 3.5 requires the "fix" below.

Editing in Visual Studio

  1. Run rake global_version in the root folder.
  2. Set Visual Studio Tools -> Options -> Text Editor -> All Languages -> Tabs to use "Tab Size" = 4, "Indent Size" = 4, and "Insert Spaces"
  3. Double-click/open the .sln file.

You can alternatively edit and build for .Net 3.5 instead of .Net 4.0 with this step:

  • Edit all TopShelf/src/**/*.csproj files at the top of the files, where it says: <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion>

    Change v4.0 to v3.5. The build script itself won't be affected by this change, but it'll help Visual Studio know what version we're building for.

  1. Edit Topshelf.Host/app.config and uncomment the supportedRuntime- and runtime-elements.

Editing the rake script

  • Getting an overview: rake help
  • Getting descriptions of the tasks: rake -P
  • Read some articles; currently we need help with environments configuration and reducing the noise in tasks by making the files FileTask-s themselves. Some of this stuff is discussed here.

In general you should define your tasks to have the least number of dependencies to function. Paths should be placed in the props dictionary at the start of the rake file.

REQUIREMENTS

To run the build, rake, .NET 3.5, and .NET 4.0 are required. To open the solution, you must have Visual Studio 2010 Service Pack 1.

CREDITS

Logo Design by The Agile Badger Copyright 2007-2013 Travis Smith, Chris Patterson, Dru Sellers, Henrik Feldt et al. All rights reserved

topshelf's People

Contributors

algra avatar andreabalducci avatar bapti avatar brutaldev avatar cbono avatar chrkru avatar coridrew avatar danbyrne84 avatar developmentalmadness avatar drusellers avatar dstjacques avatar erikschierboom avatar grantbyrne avatar haf avatar hamdiakoguz avatar happyframework avatar jaensche avatar janv8000 avatar kevinjpluck avatar kevm avatar matteobaglini avatar phatboyg avatar ryanhauert avatar solyutor avatar terryhughes avatar travisthetechie avatar visubesy avatar wilsonbn avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.