I used some of the latest goodies (list populating search fields on the BrowseDialog, ThemedContainer window, etc.) on a particular form in my project.
Works fine on my machine (of course!).
But after sending an update out to users to install, the app runs fine on all forms except that particular form with the latest SF stuff.
Specifically, I keep getting MissingMethodException errors, and it looks like its related to the updated controls and possibly the updated version of these same controls not being present on the user machines.
However, I included the latest merge module in the deployment package. I also tried just installing the DLLs directly into the GAC (fails due to lack of strong naming), and finally in desperation just put all the DLLs in the same directory as the EXE. This also fails in exactly the same way as using the merge module. How do I know if I have the right version of this stuff on the client machine?
I included a couple of specific exceptions below. Thanks!
ApplicationException
An error occurred while creating the main form
TargetInvocationException
Exception has been thrown by the target of an invocation.
MissingMethodException
Method not found: 'Void MicroFour.StrataFrame.UI.Windows.Forms.SearchFieldItem.set_PopulationDataSourceSettings(MicroFour.StrataFrame.UI.ListPopulationSettings)'.
Source : MicroFour StrataFrame UI
Stack Trace:
at ProjectPortfolioManager.ProjectMaintenanceForm.InitializeComponent()
at ProjectPortfolioManager.ProjectMaintenanceForm..ctor() in C:\Documents and Settings\crabtrjc\My Documents\Visual Studio 2005\Projects\ProjectPortfolioManager\ProjectPortfolioManager\ProjectMaintenanceForm.cs:line 15
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at MicroFour.StrataFrame.Application.StrataFrameApplication.RunApplication()
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ApplicationException
An error occurred while creating the main form
TargetInvocationException
Exception has been thrown by the target of an invocation.
MissingMethodException
Method not found: 'Void MicroFour.StrataFrame.UI.Windows.Forms.SearchFieldItem.set_PopulationDataSourceSettings(MicroFour.StrataFrame.UI.ListPopulationSettings)'.
Source : MicroFour StrataFrame UI
Stack Trace:
at ProjectPortfolioManager.ProjectMaintenanceForm.InitializeComponent()
at ProjectPortfolioManager.ProjectMaintenanceForm..ctor() in C:\Documents and Settings\crabtrjc\My Documents\Visual Studio 2005\Projects\ProjectPortfolioManager\ProjectPortfolioManager\ProjectMaintenanceForm.cs:line 15
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at MicroFour.StrataFrame.Application.StrataFrameApplication.RunApplication()