Red Gate forums :: View topic - Multiple Assemblies
Return to www.red-gate.com RSS Feed Available

Search  | Usergroups |  Profile |  Messages |  Log in  Register 
Go to product documentation
SmartAssembly 6
SmartAssembly 6 forum

Multiple Assemblies

Search in SmartAssembly 6 forum
Post new topic   Reply to topic
Jump to:  
Author Message
JohnRedGater



Joined: 27 Jun 2011
Posts: 10

PostPosted: Mon Jun 27, 2011 8:20 pm    Post subject: Multiple Assemblies Reply with quote

Iím using SmartAssembly Version 6.1 and Iím trying to automate my build process using msbuild. So far, Iím confused as to how the whole thing works given my special case. My application isnít one giant assembly, but it consists of a solution file with multiple project files:

  • Application
      Depends on :
        DataModel
        PluginsInterface
        Support
        3rd Party Logging Apparatus

  • DataModel
  • Plugin
      Depends on:
        PluginInterface
        3rd Party Logging Apparatus

  • PluginInterface
      Depends on:
        3rd Party Logging Apparatus

  • Support

    I want to obfuscate every assembly then merge or embed the components together such that at the end of the build there should be two files:
      Application
      Plugin

    I also want to make sure I'm not including duplicate assemblies in to my final build such as the 3rd party Logging. How would I setup my MsBuild to handle this situation? Do I have to create a separate project file that obfuscates each assembly then perform the merging at the application project?
    • Back to top
      View user's profile Send private message
      james.davies



      Joined: 19 Apr 2011
      Posts: 46

      PostPosted: Wed Jun 29, 2011 7:16 pm    Post subject: Reply with quote

      I think you want two SmartAssembly projects (one for the Application, and another for the Plugin)
      For each project SmartAssembly will scan for dependencies and you can then decide if you want to merge or embed each dependency. Merging offers the strongest protection . Please see these articles:
      http://www.red-gate.com/supportcenter/Content?c=SmartAssembly%5chelp%5c6.0%5cSA_SearchingForDependencies.htm&p=SmartAssembly
      http://www.red-gate.com/supportcenter/Content?c=SmartAssembly%5chelp%5c6.0%5cSA_EmbeddingDependencies.htm&p=SmartAssembly
      http://www.red-gate.com/supportcenter/Content?c=SmartAssembly%5chelp%5c6.0%5cSA_MergingDependencies.htm&p=SmartAssembly)
      http://www.red-gate.com/supportcenter/Content?c=knowledgebase%5cSmartAssembly%5cKB201104000494.htm&p=SmartAssembly

      I would recommend a 2 stage approach for creating your build process
      1) Get your build process working manually and use the SmartAssembly application to create your project settings
      If you have problems after building, please read this article:
      http://www.red-gate.com/supportcenter/Content?c=SmartAssembly%5chelp%5c6.0%5cSA_troubleshooting_build.htm&p=SmartAssembly
      Once you are have created your two *.saproj files and you are happy with the results then you can move to automating using msbuild.
      2) Automate using msbuild
      Here is an article describing using SmartAssembly with msbuild:
      http://www.red-gate.com/supportcenter/Content?p=SmartAssembly&c=SmartAssembly/help/6.0/SA_UsingSmartAssemblyWithMSBuild.htm&toc=SmartAssembly/help/6.0/toc1362558.htm
      _________________
      Thanks,
      James Davies
      Technical Support Engineer
      Red Gate Software
      Back to top
      View user's profile Send private message
      Display posts from previous:   
      Reply to topic All times are GMT + 1 Hour
      Page 1 of 1

       
      You cannot post new topics in this forum
      You cannot reply to topics in this forum
      You cannot edit your posts in this forum
      You cannot delete your posts in this forum
      You cannot vote in polls in this forum


      Powered by phpBB © 2001, 2005 phpBB Group