Skip to content
  • This project
    • Loading...
  • Sign in

Christian Gerdes / WebServicePlugins

Go to a project
Toggle navigation
Toggle navigation pinning
  • Projects
  • Groups
  • Snippets
  • Help
  • Project
  • Activity
  • Repository
  • Graphs
  • Issues 12
  • Merge Requests 0
  • Wiki
  • Network
  • Create a new issue
  • Commits
  • Issue Boards
Closed
Open
Issue #12 opened 2018-02-09 14:46:01 UTC by Christian Gerdes@lilchger

Check for updated version at launch

During the checkSetup() call in initialize of the extension, we can compare the file versions of the runtime plugin, and update it if needed from the extensions path. This way the extension can update the plugin in the MyAssemblies folder and the WebTestRecorderPlugin at the same time to automatically keep them updated with the installed version of the extension, if they are not the same. This would automatically solve the problem with multiple installs of VS as well. Maybe we should then use a common folder for the MyAssemblies, instead of under the VS version folders in Documents.

Edited 2018-02-22 15:12:00 UTC
  • Christian Gerdes
    @lilchger commented 2018-02-09 14:47:49 UTC
    Master

    Example of doing this:

    System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location); string version = fvi.FileVersion;

    Edited 2018-02-09 14:48:01 UTC
  • Christian Gerdes
    @lilchger commented 2018-02-09 16:22:27 UTC
    Master

    If we never downgrade the dll, this could solve the problem when several versions of VS are installed, as long as the runtime dll Always is backwards compatible. Each VS will then Always load the latest version in the MyAssemblies folder. This however implies we should put the MyAssemblies folder outside the VS version specific folders. Like directly under Documents.

  • Christian Gerdes
    @lilchger commented 2018-02-22 15:11:24 UTC
    Master

    We should change approuch entirely. The runtime dll should Always we copied into the solution, into a WebServicePlugin directory. This can be done automatically if one of the Add Extraction Rule or Add Validation Rule functions are used by the user (which then would require the runtime plugin to be present and loaded). This check could then also update the runtime dll in the solution if needed. If the user needs access to these manually, the runtime dll could be added from the menu by the user. This way, the dll never has to be in a public assemblies folder on the machine, and the solution will Always run wherever it is checked out. During Initialize() we could instead check if the solution contains the dll, present a warning if its not there with an option to copy it into the solution, and we could if it needs to be updated ask the user if we should update the dll in the solution. With this, we can also remove the recorder plugin entirely, since it's only purpose is to add the runtime dll to the Project.

  • Christian Gerdes
    @lilchger

    mentioned in issue #1

    2018-02-22 15:12:00 UTC

    Mentioned in issue #1

    Toggle commit list
  • Please register or sign in to post a comment
Assignee
No assignee
Assign to
None
Milestone
None
Assign milestone
None
Due date
No due date
1
Labels
enhancement
Assign labels
  • View labels
1
1 participant
Reference: lilchger/WebServicePlugins#12