[ https://issues.apache.org/jira/browse/QPID-2924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928779#action_12928779 ]
Chuck Rolke commented on QPID-2924: ----------------------------------- I've resolved this issue without actually refactoring the kit. I think a reasonable user can figure out how to set up the \bin directory for debug and release DLLs without too much difficulty. As-patched the kit now does not require the user to individually change the assembly reference to the DLLs, which is a huge pain point. Now the org.apache.qpid.messaging* assembly DLLs keep the same name whether debug or release in keeping with the .NET naming convention. > Refactor WinSDK to create separate debug and release /bin directories > --------------------------------------------------------------------- > > Key: QPID-2924 > URL: https://issues.apache.org/jira/browse/QPID-2924 > Project: Qpid > Issue Type: Improvement > Affects Versions: 0.7 > Environment: WinSDK build > Reporter: Chuck Rolke > Assignee: Chuck Rolke > Fix For: 0.7 > > > In the current WinSDK the \bin directory has become overloaded and difficult > to use. > The directory currently holds: > * Boost (debug and release) > * Qpid libraries (debug and release) > * MSVC runtime (release) > * .NET Messaging Binding libraries (debug) > A user may: > 1. To Compile/Run Debug > 1a. C++ - Load the project and go > 1b. .NET - Load the project and go. > 2. To Compile/Run Release > 2a. C++ - Load the project, flip the settings, and go > 2b. .NET - Unpack the release libraries from zip, load the project, flip > settings and references, and go > After building the examples the \bin directory has 78 files in it. > As a developer this isn't really that bad. But for a new user it gets harder > to explain, particularly for the .NET examples. Between debug and release, > C++ (.vcproj) projects have a simple way to specify differently-named > libraries and differently named output files. .NET (.csproj) projects are not > so simple: changing the names of a dependent library involve removing a > reference and adding a references to the new file, and there is no great way > at all to change the name of an output file. > Currently the bld-winsdk procedure produces two zip files, one each for x86 > and x64 platforms. I propose to change the build to produce four zip files: > x86-debug, x86-release, x64-debug, and x64-release. This has advantages and > disadvantages: > Advantages: > * Each \bin directory is smaller and more easily understood > * The directory arrangement prevents a user from mixing libraries from > incompatible (debug vs release) component builds. > * Customer's will have an easier time copying the kit's basic binary > distribution as the debug and release parts are separate, and > * Customer will not have to unzip and manage debug and release versions of a > files that share the same name. > * Kit consumers have already asked for this. > Disadvantages: > * There will be extra copies of identical example source files and project > setting files. > Implementing this will involve NO CHANGE to the qpid messaging library > compile settings, minor changes to the .NET binding settings, and some > moderate hacking in the bld-winsdk.ps1 script. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org