What are the challenges you face when working across database platforms? Take the survey
Options

S/A requires more explicit dependencies than MSBuild does?

eric-914eric-914 Posts: 46
edited November 18, 2013 10:08AM in SmartAssembly
I have a .dll named "MyProject", which uses another .dll I made named "MyLibrary". "MyLibrary" has a reference to: Microsoft.Practices.EnterpriseLibrary.ExceptionHandling

I've got a reference in "MyProject" to "MyLibrary", and Visual Studio/MSBuild can compile "MyProject" just fine.

S/A, however, cannot:

SmartAssembly v6.8.0.121
Copyright c Red Gate Software 2005-2013
Loading project MyProject.saproj
Loading...

ERROR: Cannot find dependency 'Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', which is required for assembly:
MyLibrary, Version=1.6.0.0, Culture=neutral, PublicKeyToken=...
MyProject, Version=1.6.0.0, Culture=neutral, PublicKeyToken=...

Ensure that this dependency is in the main assembly folder, or in the Global Assembly Cache (GAC).


Now this is irritating because my S/A project is only obfuscating "MyProject".dll. It's not even trying to merge/embed "MyLibrary".dll, let alone even lower dependencies.


Can this get fixed?

My current work around plan is to script a copy of the Microsoft....dll to the "MyProject".dll folder.

Comments

  • Options
    Oh, come on!

    Can S/A at least list out all the dependencies it claims it needs at one time?

    ERROR: Cannot find dependency 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', which is required for assembly:

    S/A is only telling me one supposedly required dependency at a time.

    I'm trying to do this through TeamCity. It takes awhile for me to find out what the next "missing dependency" is.
  • Options
    Why not create and build the project in the GUI- you get far more control over what is happening especially when it comes to dependencies- some of which you get the option to (safely) ignore. The others you can browse to and this location information will be saved in the project which will mean you can run it automatically for the next time.
  • Options
    Thanks, but things compile just fine in the GUI. And they compile just fine from the command line.

    Now, true, the next-level dependencies will be required to RUN the code, but shouldn't be necessary to COMPILE the code.

    It's S/A that's demanding ALL dependencies required to RUN be in the build folder, not just those that are required to COMPILE.
Sign In or Register to comment.