Comments
4 comments
-
Thanks for your post. Unfortunately we cannot tell from this information if it's MSBUILD not finding SmartAssembly, SmartAssembly unable to load the project, or something else, like a crypto key that can't be found.
Have you check that you have SmartAssembly.MSBuild.Tasks version 6.0.0.0 in your GAC? -
I have checked this and, the msbuild dll is present in the gac. I now fixed this by executing smart assembly using the command line interface. -
On 64-bit there are 2 msbuild.exe:
1) c:\windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
fails with
Smartassembly failes with The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
2) c:\windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
Works! -
This problem exists because the SmartAssembly setup does not write the install path to the 64bit portion of the registry - therefore when running under the 64bit msbuild process the smartassembly msbuild task cannot find the location of smartassembly.com.
You can fix this particular problem by setting this value manually:
HKEY_LOCAL_MACHINE\SOFTWARE\Red Gate\SmartAssembly 6\Path="C:\Program Files\Red Gate\SmartAssembly 6\"
Add comment
Please sign in to leave a comment.
When i try to build my project using tfs I receive the folowing error.
C:\Builds\....\: error : SmartAssembly build failed:
C:\Builds\....\ : The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
Here you can find the c# project file
<UsingTask TaskName="SmartAssembly.MSBuild.Tasks.Build" AssemblyName="SmartAssembly.MSBuild.Tasks, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7f465a1c156d4d57" /> <Target Name="BeforeBuild" Condition=" '$(Configuration)' == 'Release' "> <CreateProperty Value="true"> <Output TaskParameter="Value" PropertyName="RunSmartAssembly" /> </CreateProperty> </Target> <Target Name="AfterBuild" Condition=" '$(RunSmartAssembly)' != '' "> <SmartAssembly.MSBuild.Tasks.Build ProjectFile="D:\{smartAssembly}\xxx.Sdk.saproj" /> </Target>Here you can find the smart assembly project file
<SmartAssemblyProject ProjectId="{e388b26e-0ab5-4a77-861d-bf9767c5ae4c}" Version="2.0"> <MainAssemblyFileName>..\Development\xxx\xxx.Sdk.dll</MainAssemblyFileName> <Configuration Name="Release"> <ApplicationName /> <Destination DestinationFileName="..\Production\SDK20\xxx.Sdk.dll" /> <Assemblies> <Assembly AssemblyName="xxx.Sdk, Culture=neutral, PublicKeyToken=b602da213aee6670"> <Merging> <ResourcesCompression /> <MemberRefsProxy /> <Pruning Prune="1"> <Exclusion /> </Pruning> <Obfuscation Obfuscate="1"> <Exclusion /> </Obfuscation> <ControlFlow Obfuscate="1" /> <ResourcesPruning /> </Merging> </Assembly> </Assemblies> <Options> <Obfuscation FieldsNameMangling="2" NameMangling="2" /> <ExceptionReporting Template="res:{SmartExceptions}.1033.dll" /> <StrongNameSigning KeyFileName="C:\Resources\XRD.pfx" Password="****" Sign="1" /> <OtherProtections AddMetadataStream="1" SuppressIldasm="1" /> <StringsEncoding /> <OtherOptimizations /> <Debugging /> <FeatureUsageReporting Template="res:SmartUsageWithUIConsentFirstRun1033.dll" /> </Options> </Configuration> </SmartAssemblyProject>