Comments
4 comments
- 
                
                   Hi Martin, Hi Martin,
 Sorry to say the only thing you can do about this is to move SmartAssembly's database to SQL Server. There is no 64-bit API for Jet (Access) databases.
- 
                
                   Ah - I must have something misconfigured somewhere, as SmartAssembly should be pointing at our in-house SQL server database. Ah - I must have something misconfigured somewhere, as SmartAssembly should be pointing at our in-house SQL server database.
- 
                
                   Indeed, I had forgotten to configure SmartAssembly with our custom SQL database name and web service URL when I installed it onto a different build server. User error Indeed, I had forgotten to configure SmartAssembly with our custom SQL database name and web service URL when I installed it onto a different build server. User error 
 It might be worth wrapping the exception in a future version of SmartAssembly so an error such as "MDB databases cannot be used calling SmartAssembly from a 64-bit MSBuild process." is printed to the MSBuild log. I'd have probably found the configuration issue a lot quicker if that had been the case, as the message lead me to believe it was a SmartAssembly bug.
 Regards,
 Martin
- 
                
                   Hi, Hi,
 I am trying to run a TFS build using SmartAssembly and my Build Server is 64 bit. I cannot change the target platform of the Solution because my projects rely on it being set to 64 bit. I have the Standard Edition of SmartAssembly, so I cannot switch to from Access to SQL Server.
 Help! What are my options here??
 Thanks,
 Larry
Add comment
Please sign in to leave a comment.
I'm trying to use SmartAssembly from within targets called by the 64-bit version of MSBuild. The assembly to be processed by SmartAssembly is compiled as x86.
I get the following error in the MSBuild log:
SmartAssembly v6.6.1.44 Copyright ΒΈ Red Gate Software 2005-2012 Loading project MyProject.saproj Input=MyTool.exe Output=MyTool.exe Loading... Starting... SmartAssembly.targets(19,5): error : SmartAssembly build failed: [MyProject.csproj] SmartAssembly.targets(19,5): error : Using Jet databases is not possible in 64 bits applications. Please compile your assembly targeting x86 platform. [MyProject.csproj] SmartAssembly.targets : warning : Using Jet databases is not possible in 64 bits applications. Please compile your assembly targeting x86 platform. [MyProject.csproj] SmartAssembly.targets : warning : at ..(String ) [MyProject.csproj] SmartAssembly.targets : warning : at ..() [MyProject.csproj] SmartAssembly.targets : warning : at ..(String ) [MyProject.csproj] SmartAssembly.targets : warning : at ..( ) [MyProject.csproj] SmartAssembly.targets : warning : at ..( ) [MyProject.csproj] SmartAssembly.targets : warning : at SmartAssembly.ConsoleApp.PerformBuild(String , , Dictionary`2 ) [MyProject.csproj] SmartAssembly.targets : warning : at SmartAssembly.ConsoleApp.PerformProjectAction(String , , Todo , Dictionary`2 ) [MyProject.csproj] SmartAssembly.targets : warning : at SmartAssembly.ConsoleApp.CommandLineAction(String , Todo , Dictionary`2 ) [MyProject.csproj] SmartAssembly.targets : warning : at SmartAssembly.ConsoleApp.Run(String[] ) [MyProject.csproj] Done Building Project "MyProject.csproj" (default targets) -- FAILED.It appears that SmartAssembly is being called in-proc and inheriting the 64-bit-ness of MSBuild, and then failing due to a dependency on an 32-bit component (i.e. JET).
Building the same project using 32-bit MSBuild or using Visual Studio succeeds.
Regards,
Martin