Building in 32-bit vs 64-bit

dave.wolfedave.wolfe Posts: 5 Bronze 1
edited April 26, 2013 10:38AM in SmartAssembly
I'm writing a plugin for AutoCAD. I recently moved from a 64-bit to 32-bit development environment. I am now updating one of my plugins, and when I build the plugin in 32-bit, it won't load in 64-bit even though it runs fine in 32-bit. Is there a way around that?

I can build the same file in 64-bit and it works, but I really want to develop everything in 32-bit.

Comments

  • James BJames B Posts: 1,124 Silver 4
    I can't quite tell from your message where Smartassembly is fitting into the problem- do you mean that Smartassembly cannot process the assembly now it's built for 32-bit? Or AutoCAD won't load the plugin after you've run it through SA?

    If you can let us know the errors you're seeing and at what point it fails, we can maybe advise further...
    Systems Software Engineer

    Redgate Software

  • dave.wolfedave.wolfe Posts: 5 Bronze 1
    AutoCAD won't load the plugin on x64, but the same plugin will load on 32 bit.

    Also, weird is that including the dynamic proxy reference option causes a memory leak in x64, whenever the plugin is loaded with that option. Is that normal?
  • James BJames B Posts: 1,124 Silver 4
    Do you get any error message that may be helpful in understanding what's happening?

    I've not heard of references dynamic proxy introducing a memory leak; but in combination with user code which we can't test, of course anything is possible. How are you diagnosing this?
    Systems Software Engineer

    Redgate Software

  • dave.wolfedave.wolfe Posts: 5 Bronze 1
    No error messages.

    My project loads/runs without leaks without using SmartAssembly. I even demoed Memory Profiler to try to find an issue, and there was none, on an un-SA'd assembly.

    I did an SA project in 32-bit using just merging/embedding since that seems to introduce the least amount of change to my code. The dll loads and runs fine on 32-bit. Then I copied the dlls, to 64-bit (built with AnyCPU). The dlls would not load. Finally, I copied the SA settings and transferred my license to the 64-bit, and compiled a new SA assembly. This one loads and runs on 32-bit and 64-bit, which led me to my conclusion.

    For the memory leak, it never occurred on 32-bit. On 64-bit I went through starting with only embedding/merging and the leak did not occur. The leak only occurred when Dynamic proxy references were included.
  • James BJames B Posts: 1,124 Silver 4
    Without knowing more about how the Plugins are loaded or getting some sort of error it's impossible to really say what would cause this.
    Smartassembly /should/ output the assembly the same as the input.

    I can check this end for any known issues around bitness- can you tell me the version of SA you're using, along with the versions of Windows both for the dev machine and a deployment where it worked/failed?
    Systems Software Engineer

    Redgate Software

  • Smart Assembly Standard Version 6.7.0.239.

    Windows 7 32-bit
    Windows 7 64-bit
  • Thanks-

    I've had some colleagues check over this thread as well and we don't really have any idea as to what would be causing this.

    Are you able to share the assembly (both before and after(s))? If so, can you zip them up and send them to support@red-gate.com adding F0072243 in the subject line.
    Systems Software Engineer

    Redgate Software

Sign In or Register to comment.