Comments
Sort by recent activity
There is one known issue with the stored encrypted passwords when you upgrade a project file from SmartAssembly 4 to 5.
Usually it can just be resolved by just re-selecting the Strong Name Key file.
The interesting thing in this case was that you were using a strong name key file without a password. Looking at the code I think what must have happened is that at some point you had used a password protected strong name key file on this project, and because the code only updates the encrypted password when the user specifies a new password (which you didn't need to do because the new key didn't need one) it was left there.
In which case yes removing the Password= attribute from the "StrongNameSigning" node will solve the issue. / comments
There is one known issue with the stored encrypted passwords when you upgrade a project file from SmartAssembly 4 to 5.
Usually it can just be resolved by just re-selecting the Strong Name Key file...
OK, can you try it the manual way.
If you open the .{sa}proj file in notepad or similar, under the "Options" section there will be a "StrongNameSigning" node.
If you remove the node completely and then re-open the project in SmartAssembly. It should now not be strong name signing, if you then specify a key, hopefully... / comments
OK, can you try it the manual way.
If you open the .{sa}proj file in notepad or similar, under the "Options" section there will be a "StrongNameSigning" node.
If you remove the node completely and ...
Looking at the report it seems that SmartAssembly thinks that the strong name key does have a password for some unknown reason.
Try opening SmartAssembly and in the project settings page for your project, just re-browse for the strong name key file again. Hopefully this should fix it. / comments
Looking at the report it seems that SmartAssembly thinks that the strong name key does have a password for some unknown reason.
Try opening SmartAssembly and in the project settings page for your p...
Calling Application.Run twice is not really supported by Winforms.
When the login form closes, the last part of the Application.Run(...) call performs various operations that clear-up the application's context. These contexts include the application's ThreadContext, this means the event handler for unhandled exceptions in the thread is removed, stopping the Unhandled Exception feature for being called.
The better method if you want to have multiple forms displayed is to do Application.Run on the main form, and possibly set it to be hidden in the constructor.
Then within the main form's load method show the other form. / comments
Calling Application.Run twice is not really supported by Winforms.
When the login form closes, the last part of the Application.Run(...) call performs various operations that clear-up the applicati...
The wording has been fixed for the forthcoming update.
We do have a feature, to add self-verification to protected assemblies, listed on the roadmap for SmartAssembly (SA-77). So hopefully it will make it in at some point soon (although no promises). / comments
The wording has been fixed for the forthcoming update.
We do have a feature, to add self-verification to protected assemblies, listed on the roadmap for SmartAssembly (SA-77). So hopefully it will ...
I think the wording that SmartAssembly uses is a little bit strong in this case.
SmartAssembly does not perform a full hash of the assembly to verify that nothing has changed, so it will not detect changing a primitive constant in a hex editor.
If you want this sort of functionality either strong name signing the assembly (and then verifying on load) or using code signing (Authenticode) is the best and simplest way.
However SmartAssembly will protect against modifications by decompilation/recompilation, code injection and most modification to the actual code. / comments
I think the wording that SmartAssembly uses is a little bit strong in this case.
SmartAssembly does not perform a full hash of the assembly to verify that nothing has changed, so it will not detect...
Normally you will create a separate SmartAssembly project for each assembly that you wish a separate output assembly for.
There is a command line version which allows more automation, but usually you will still want a separate project file for each output assembly. / comments
Normally you will create a separate SmartAssembly project for each assembly that you wish a separate output assembly for.
There is a command line version which allows more automation, but usually y...
Sorry for taking a while to reply.
We've not come across this before.
A few questions:
What framework does your assembly target, and what do the dependencies target?
Is the .NET 4.0 app calling and using the assembly in the same way as the .NET 3.5 app?
How is the assembly being called (i.e. are you using Assembly.Load(...) or similar)?
Are you getting the error message (File not found) at compile time or at runtime?
And what does the error message say - is it saying that it cannot find the assembly, "cannot find the assembly or one of it's dependencies" or cannot find one of the dependencies. / comments
Sorry for taking a while to reply.
We've not come across this before.
A few questions:
What framework does your assembly target, and what do the dependencies target?
Is the .NET 4.0 app calling and...
Just to keep you updated guys this bug is firmly listed to be fixed in the next update. I don't have a release date yet, I'll pester the developers to find out when the release date will be and if I can get an earlier copy. / comments
Just to keep you updated guys this bug is firmly listed to be fixed in the next update. I don't have a release date yet, I'll pester the developers to find out when the release date will be and if ...
Having spent a while digging in the IL code and talking with our development team, I think we have worked out why it is adding multiple version references.
If you pass a non-primitive core framework object to a method in a reference assembly which depends on a different version of the .NET framework then it will automatically add a reference to this different version.
For instance in the code you sent Eaton, there was a call to
DevExpress.XtraEditors.BaseListBoxControl.add_SelectedIndexChanged( System.EventHandler )
because the DevExpress dll was linked against the CLR 2.0 the System.EventHandler that had to be passed was the one in mscorlib 2.0 rather than the one in mscorlib 4.0 (which to the .NET framework is completely different although implicitly cast-able), so the reference was automatically added.
The developers will fix SmartAssembly so that it copes with this situation, now we know what the problem is.
Thank you very much for all your help. / comments
Having spent a while digging in the IL code and talking with our development team, I think we have worked out why it is adding multiple version references.
If you pass a non-primitive core framewor...