Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add vs2017 support #1056

Commits on Jul 26, 2017

  1. Add VS2015 dependency group to paket.depenencies

    With version 15 of the Microsoft.TeamFoundationServer.* NuGet packages,
    some of the types and method signatures that were available in 14.x have
    changed or been removed.
    
    In order to attempt to preserve maximum compatibility with VS2015, while
    adding support for VS2017, a dependency group has been introduced into
    the `paket.dependencies` file called VS2015.  The corresponding VS2015
    `paket.references` file has been updated to reference this group. A
    future commit will introduce a VS2017 dependency group.
    
    Signed-off-by: Craig E. Shea <craig.e.shea@gmail.com>
    fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    48df435 View commit details
    Browse the repository at this point in the history
  2. Make LoadFromVsFolder abstract

    Because of the differences in installation folder layout between Visual
    Studio 2010-2015 and the latest Visual Studo 2017, it is necessary to
    allow each GitTfs Helper to define how to load an assembly from the
    Visual Studio folder.
    
    This was accomplished by creating a private `_LoadFromVsFolder` method
    which calls the (now) protected and abstract `LoadFromVsFolder` method.
    Each GitTfs Helper must now implement/override this method.
    
    Signed-off-by: Craig E. Shea <craig.e.shea@gmail.com>
    fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    3eb429d View commit details
    Browse the repository at this point in the history
  3. Add new project to support Visual Studio 2017

    Adds a new GitTfs.Vs2017 project and the appropriate references in a
    paket.references file to add Visual Studio 2017 support to git-tfs.
    
    This commit also bumps the version of git-tfs up to 0.26.0.
    
    Signed-off-by: Craig E. Shea <craig.e.shea@gmail.com>
    fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    adcdb17 View commit details
    Browse the repository at this point in the history
  4. Add support for VS 2017

    This commit links in the common files that the other VS* projects link
    to, and also adds specific support for Visual Studio 2017. The only file
    that is not linked in is the TfsHelper.Vs2012Base.cs file. This is
    because Visual Studio 2017 is drastically different than Visual Studio
    2012-2015 in terms of its installation and how you find information
    about installed Visual Studio instances. Therefore, TfsHelper.Vs2017.cs
    inherits directly from TfsHelperBase directly, and overrides the
    required methods.
    
    Visual Studio 2017 does not install many things into the Windows
    Registry. There is guidance online that details how to determine the
    installation path of an instance of Visual Studio 2017. (There can be
    many instances of Visual Studio 2017 installed on any one machine now.)
    This guidance has been used to determine the installation path, which in
    turn is used to find the DLL containing the TFS Checkin Form.
    
    The TFS Checkin Form is still in a DLL which is part of a Visual Studio
    extension, but the extension now has a deterministic installation
    location within the Visual Studio 2017 installation path.
    
    Signed-off-by: Craig E. Shea <craig.e.shea@gmail.com>
    fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    4f57c9b View commit details
    Browse the repository at this point in the history
  5. Remove 'Any CPU' Build Configuration from Solution

    Removes the 'Any CPU' build configuration from the solution, per
    @spraints request.
    
    Signed-off-by: Craig E. Shea <craig.e.shea@gmail.com>
    fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    4cdca18 View commit details
    Browse the repository at this point in the history
  6. Add NCrunch solution/project settings config files

    NCrunch is a continuous unit test runner which provides developers with
    a tight feedback loop by running impacted unit tests upon detecting
    changes to the underlying source code.
    
    NCrunch recommends that these files be checked into source code
    control--they configure the projects and solution to work with NCrunch.
    Normally, getting NCrunch to work with a solution is easy, just enable
    it. But for Git-Tfs, it was a bit more complicated because of the
    architecture and because of LibGit2Sharp's unmanaged dependency. So,
    checking in these files will ensure that any other developers using
    NCrunch will be all set to go.
    
    Signed-off-by: Craig E. Shea <craig.e.shea@gmail.com>
    Craig E. Shea authored and fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    526b151 View commit details
    Browse the repository at this point in the history
  7. Update to latest LibGit2Sharp

    When installing the Paket depenencies, the latest version of
    LibGit2Sharp was installed. There was at least one obsolete method that
    was being used; it has been updated to use the replacement.
    
    Signed-off-by: Craig E. Shea <craig.e.shea@gmail.com>
    fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    85a2fcc View commit details
    Browse the repository at this point in the history
  8. Fix broken unit tests; update for new LibGit2Sharp

    When I branched off of master, there were 5 broken unit tests. The main
    issue was that a branch named "branch" was created, and then a commit
    would be made and a comparison of the resulting SHAs. However, what was
    forgotten in these tests was to checkout the branch "branch" after it
    was created prior to creating the next commit. These oversights were
    corrected.
    
    Also, with the new version of LibGit2Sharp, the unit tests needed
    some updating to remove method calls to obsolete methods.
    
    Also updated the ignore file to ignore NCrunch, Resharper, and
    DevTracker files.
    
    Signed-off-by: Craig E. Shea <crag.e.shea@gmail.com>
    fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    0d72bae View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    ff86d69 View commit details
    Browse the repository at this point in the history
  10. remove framework: auto-detect -> framework: net462

    Solve on AppVeyor (?) "The framework restriction Paket.Requirements+FrameworkRestrictions+_AutoDetectFramework and Paket.Requirements+FrameworkRestrictions+FrameworkRestrictionList could not be combined."
    pmiossec authored and fourpastmidnight committed Jul 26, 2017
    Copy the full SHA
    076a01e View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    66dbe36 View commit details
    Browse the repository at this point in the history