Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 144873
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T08:19:23+00:00 2026-05-11T08:19:23+00:00

I have a .NET project that’s always been built/run by/on 32 bit machines. I

  • 0

I have a .NET project that’s always been built/run by/on 32 bit machines. I got a new a 64 bit computer and am trying to tackle the task of getting it working there. The build script is in nant, and at one point we compile some boo code using the nant task. The boo code references our core DLL, which is built from c# source earlier in the build process.

I’ve tried two things: build it to run in 32bit mode and build it to run in 64bit mode. By using corflags on several programs (including booc), I was able to build the project built in 32bit mode, but ended up with a bunch of downstream issues at runtime. So I need to get it built in 64bit mode, which I think is preferable anyway.

According to the nant/booc source code, the booc nant task calls the booc.exe in-process using the CLR’s Process class, so (I think) it should inherit 32bitness or 64bitness from the parent process. That doesn’t reflect what I’m seeing, though.

Here’s what I’ve done:

  1. Used the 64bit version of powershell to invoke nant
  2. Specified platform=’x64′ on my tasks. I feel like I shouldn’t have to do this because anycpu should be fine, but it seems to make a difference.

Here’s the error I’m getting:

[booc] Compiling 5 files to 'C:\dev\build\MyProjectBoo.dll'. [booc] BCE0106: Failed to access the types defined in assembly 'MyProject, Version=5.5.0.0, Culture=neutral, PublicKeyToken=null' - (C:\dev\build\MyProject.dll):Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. [booc]  is not a valid Win32 application. (Exception from HRESULT: 0x800700C1) [booc]  is not a valid Win32 application. (Exception from HRESULT: 0x800700C1) [booc] . [booc] 1 error(s). 

Which means, according to the booc source code, ‘I tried to reflectively list the types in your referenced assembly but failed’. I don’t know if that means, ‘I think I’m 32bit but these are 64bit dlls’ or what, and I’m very confused.

Any ideas on how I can get this to work?

Update after some work, I’ve discovered that the issue has nothing to do with boo. I wrote a quick c# program that reflectively loads the dll and it breaks in the same way. So for some reason, no matter what I set as the platform (x86, x64 or anycpu), I can’t load it reflectively on an x64 machine. So not really boo’s fault. So I’m going to dig into this and repost if I have a better question.

Newer Update Turns out that one of my main DLL’s third party dependencies insists on being in a 32 bit environment, even though it isn’t built with corflags. This causes assembly.GetTypes() fail in 64 bit mode.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T08:19:24+00:00Added an answer on May 11, 2026 at 8:19 am

    The problem is dependencies on third-party DLL’s that require 32 bit mode, which is possible even if they don’t have corflags set.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a .NET project that I've been compiling with Visual Studio and running
I have a VB.NET (2010) project that contains a generic list, and I'm trying
I have an ASP.NET web project that works perfectly on my computer. However, when
We have a ASP.Net MVC project that runs fine on our developer machines. When
I have a C# project that references a .NET assembly built from a VB.NET
I have a vb.net project that loads plugin dlls at runtime to crunch some
I have an ASP.NET project that contains many classes. I am thinking about creating
I have accumulated an ASP.NET project that was running everything off of one page
We have an ASP.Net MVC project that will start with a single web server
I have an Asp.net MVC project that modestly uses jQuery scripts. My views also

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.