Project setup for EPiServer Nuget package


We are looking into creating an EPiServer add-on that would go into the EPiServer Nuget feed. Just thinking about how to make the the solution setup as good as possible for the development to work as smooth as possible.

How to handle different versions of EPiServer for instance?

What to include in the development setup in git?

My basic idea was to have the solution consist of an Alloy website and a class library for the add-on.

The add-on project is then setup to create the nuget package to a local folder at first and then the add-on is installed on the Alloy website and tested through there. Is this the recommended setup for projects like this?

Back to my fist question, how to handle different versions of EPiServer. What is the best way to handle this in the solution and git? Keep different branches in git for the different EPiServer versions or keep them as completely separated solutions or projects and handle the common bug fixes and feature development manually i each?

If we would like to target both EPiServer 9 and 10 is the best way to start with EPiServer 9 and then create the 10 version and handle any errors and code changes for that? 

So just looking for tips and recommendations on how you handle this so any input would be much appreciated.

Mar 03, 2017 8:30

Maybe you found this post?

There are a number of github repos you can look at of successful packages. I looked at projects by:

Here's how mine is now:

When working locally I have two VS instances open and push the files I need from the add-on project to an Alloy project. I don't want traces of the Alloy project in the add-on Git repo.

I also test publishing the package to a local folder so I can test the actual package, for that I have a second Alloy project available.

I think the need for fixing stuff for older versions is diminishing anyhow. For most issues it's good enough to just say fixed from version x.x.x.

Mar 27, 2017 10:31
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.