Creating a new dependencies model
You can create a new model from the contextual menu in the solution node.
AddVSDMModel.JPG
NB : It's possible to create a model at another level than the solution level. In this case, the model will display only the projects of this level

When the following dialog box is displayed, you can :
  • Create a new model from the current solution by specifying a name and by selecting the dynamic option.
  • Create a new model static model (with the static option). In this case, you will select the external assemblies which compose the model. This model is used in the case you have only the assemblies without source code.
  • Create a virtual package which is just a model referencing other models by selecting Package.
  • Modify an existing model by selecting one from the repository tree (The same thing can be done directly from the repository window)
addmodeldialog.jpg


When you create a new model, VSDM populates it with projects within the current solution. After that, the model will have the priority on the solution explorer.
When the model is populated and if it finds some external references, it will ask you to specify if these references are already in the repository or if you want to create a new one.
When the model is opened, if you delete a project or a reference (in the solution explorer or in the model), both will be synchronized. But if you delete a project or a reference in the solution explorer when the model is not opened, it will be recreated in the solution the next time you open the model. So, if you want to delete something, do it in the model instead of in the solution explorer (With the model, you can use the undo command)

Adding a reference
You can add a reference by choosing the reference icon in the toolbox and by linking the two elements. A simpler way (without selecting the icon) is to click on the source element while pressing the ALT key.
When the reference is created, you can edit this properties:
DependencyProperties.jpg
  • Configuration name - Indicates in which context the reference is active.
    • The context is based on the configuration name (Debug, Release...). You can enumerate one or more context separated by a comma (,) or use the special char star (*) which means all contexts. A configuration name prefixed by an exclamation mark (!) means all except the one mentionned.
      • ex: !Debug (all context except Debug), Debug, Test (In debug an test context)
  • Scope - What is the usage of the reference
    • Compilation - This reference is used in the compilation process (static reference)
    • Runtime - This reference must be copied in the output folder of the source project
    • Publish - This reference will be published into the repository
  • InternalsVisible - The InternalsVisibleToAttribute will be generated in the assemblyInfo.cs file

Using the repository
You can publish all your components in a repository with the contextual menu. A publication contains : the current model and all the artifacts displayed on the model. An artifact can be any assembly or files. There are two levels of repository : local and remote.
The local repository is a cache for all the external binaries you use on your pc. When you publish your model, you can publish it locally to share it between your local projects and, optionally, on the remote repository to share it between the teams.
  • Configuration
By default, the local folder is c:\vsdm\LocalRepository and there is no remote repository defined. You can change this configuration with the Visual Studio options window (Dependencies manager). The remote repository address can be a physical folder (local or shared) or a http address (coming soon).
  • Publication
Local publication copies all the artifacts and models to the local folder but the remote publication encapsulates all your artifacts in a compressed package before sending it to the repository. The package has a .cdmx extension which can be renamed to zip to explore its contents.
You can manage the version of your publication by changing the model version before publishing it.
  • Notification
When a new version is published, developers are notified (with an icon in the external component shape) that a new version is available. The update of the local repository is not automatic and must be activated manually with the "Get Last version" option from the contextual menu.
When the last version is downloaded, a wizard ask you if you want to download all the component sub dependencies or not (Pre checked sub components mean that you have not the lastest version on your local repository)

Referencing an external model
You can use an external component by dragging it from the repository window (If this window is not displayed, you can open it with the menu) and dropping it onto the design surface.
repositorywindows.jpg


Last edited Jan 27, 2009 at 4:12 PM by Malain, version 13

Comments

No comments yet.