.NET Coders Wanted
-
I have released v1.2 of my Code Store[^] add-in for VS.NET, which does work (for the most part). Now I want to move on and add a better user interface and proper handling of settings before adding some more useful functionality. I started by using ISerializable to serialize the settings, but had problems, so I switched to the Microsoft Configuration Management Application Block (CMAB[^]), but now I have hit yet further problems with this, that I have posted a question about on the microsoft.public.dotnet.distributed_apps newsgroup. What I really need is someone (or some people) who know what they're doing to come in and fix these intial problems so that I can get on with the serious business of adding functionality. If you are interested and think you can help, then please wander over to GotDotNet Workspaces[^] and dowmload the code. There are also issues relating to add-in registration and the setup of the menu item, etc. that would also be good to fix asap. Derek Lakin. Try the Code Store for instant integrated access to an online repository of .NET components. I wish I was what I thought I was when I wished I was what I am. Salamander Software Ltd.
-
I have released v1.2 of my Code Store[^] add-in for VS.NET, which does work (for the most part). Now I want to move on and add a better user interface and proper handling of settings before adding some more useful functionality. I started by using ISerializable to serialize the settings, but had problems, so I switched to the Microsoft Configuration Management Application Block (CMAB[^]), but now I have hit yet further problems with this, that I have posted a question about on the microsoft.public.dotnet.distributed_apps newsgroup. What I really need is someone (or some people) who know what they're doing to come in and fix these intial problems so that I can get on with the serious business of adding functionality. If you are interested and think you can help, then please wander over to GotDotNet Workspaces[^] and dowmload the code. There are also issues relating to add-in registration and the setup of the menu item, etc. that would also be good to fix asap. Derek Lakin. Try the Code Store for instant integrated access to an online repository of .NET components. I wish I was what I thought I was when I wished I was what I am. Salamander Software Ltd.
Derek Lakin wrote: Microsoft Configuration Management Application Block Now that sounds nice :) Something that has been missing for while! What seems to be the problem though? Also, can you provide a single file "solution" (no pun intended) to download, or specify the "bad" files in question? leppie::AllocCPArticle(Generic DFA State Machine for .NET);
-
I have released v1.2 of my Code Store[^] add-in for VS.NET, which does work (for the most part). Now I want to move on and add a better user interface and proper handling of settings before adding some more useful functionality. I started by using ISerializable to serialize the settings, but had problems, so I switched to the Microsoft Configuration Management Application Block (CMAB[^]), but now I have hit yet further problems with this, that I have posted a question about on the microsoft.public.dotnet.distributed_apps newsgroup. What I really need is someone (or some people) who know what they're doing to come in and fix these intial problems so that I can get on with the serious business of adding functionality. If you are interested and think you can help, then please wander over to GotDotNet Workspaces[^] and dowmload the code. There are also issues relating to add-in registration and the setup of the menu item, etc. that would also be good to fix asap. Derek Lakin. Try the Code Store for instant integrated access to an online repository of .NET components. I wish I was what I thought I was when I wished I was what I am. Salamander Software Ltd.
OK, so I find your options.cs file :) But where are you using the CMAB? AFAIKC, this is the implemention (2 ways):
...
ConfigurationManager c = ConfigurationManager.Items;
...
c["mysetting"] = Blah.Blah.Foo;
c["font"] = WebDongs;
...OR
// Write a specific data element to the default configuration section
ConfigurationManager.Items["connection_string"] = "Some String";
// Read a specific data element from the default configuration section
string conString = (string)ConfigurationManager.Items["connection_string"];
The Read/Write methods are "extras". Hope this helps :) leppie::AllocCPArticle(Generic DFA State Machine for .NET);
-
OK, so I find your options.cs file :) But where are you using the CMAB? AFAIKC, this is the implemention (2 ways):
...
ConfigurationManager c = ConfigurationManager.Items;
...
c["mysetting"] = Blah.Blah.Foo;
c["font"] = WebDongs;
...OR
// Write a specific data element to the default configuration section
ConfigurationManager.Items["connection_string"] = "Some String";
// Read a specific data element from the default configuration section
string conString = (string)ConfigurationManager.Items["connection_string"];
The Read/Write methods are "extras". Hope this helps :) leppie::AllocCPArticle(Generic DFA State Machine for .NET);
Just to check if everything was going wrong I added a call to Initialise in the Options constructor:
ConfigurationManagaer.Initialise()
. This is the first place that the exception is thrown. However, the call to Initialise should not be necessary, so the first place I should be calling CMAB is in the Options.LoadOptions call:this.configData = ConfigurationManager.Read();
Derek Lakin. Try the Code Store for instant integrated access to an online repository of .NET components. I wish I was what I thought I was when I wished I was what I am. Salamander Software Ltd. -
Just to check if everything was going wrong I added a call to Initialise in the Options constructor:
ConfigurationManagaer.Initialise()
. This is the first place that the exception is thrown. However, the call to Initialise should not be necessary, so the first place I should be calling CMAB is in the Options.LoadOptions call:this.configData = ConfigurationManager.Read();
Derek Lakin. Try the Code Store for instant integrated access to an online repository of .NET components. I wish I was what I thought I was when I wished I was what I am. Salamander Software Ltd.Did you add the : <section name="applicationConfigurationManagement" type="Microsoft.ApplicationBlocks.ConfigurationManagement.ConfigurationManagerSectionHandler,Microsoft.ApplicationBlocks.ConfigurationManagement, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" /> Section to your appfile.config file? leppie::AllocCPArticle(Generic DFA State Machine for .NET);
-
Did you add the : <section name="applicationConfigurationManagement" type="Microsoft.ApplicationBlocks.ConfigurationManagement.ConfigurationManagerSectionHandler,Microsoft.ApplicationBlocks.ConfigurationManagement, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" /> Section to your appfile.config file? leppie::AllocCPArticle(Generic DFA State Machine for .NET);
Yes, the App.config file is as follows:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section
name="applicationConfigurationManagement"
type="Microsoft.ApplicationBlocks.ConfigurationManagement.ConfigurationManagerSectionHandler,Microsoft.ApplicationBlocks.ConfigurationManagement, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" /><section name="CodeStore" type="Microsoft.ApplicationBlocks.ConfigurationManagement.XmlHashtableSectionHandler,Microsoft.ApplicationBlocks.ConfigurationManagement,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" /> </configSections>
<CodeStore>
<XmlSerializableHashtable xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Entries>
<Entry>
<key xsi:type="xsd:string">serverUrl</key>
<value xsi:type="xsd:string">http://www.salamandersoftware.biz/codestore/</value>
</Entry>
<Entry>
<key xsi:type="xsd:string">localPath</key>
<value xsi:type="xsd:string"></value>
</Entry>
<Entry>
<key xsi:type="xsd:bool">useProxy</key>
<value xsi:type="xsd:bool">false</value>
</Entry>
<Entry>
<key xsi:type="xsd:bool">bypassProxyOnLocal</key>
<value xsi:type="xsd:bool">false</value>
</Entry>
<Entry>
<key xsi:type="xsd:bool">proxyAuthorisation</key>
<value xsi:type="xsd:bool">false</value>
</Entry>
<Entry>
<key xsi:type="xsd:string">proxyAddress</key>
<value xsi:type="xsd:string"></value>
</Entry>
<Entry>
<key xsi:type="xsd:int">proxyPort</key>
<value xsi:type="xsd:int"></value>
</Entry>
<Entry>
<key xsi:type="xsd:string">proxyUser</key>
<value xsi:type="xsd:string"></value>
</Entry>
<Entry>
<key xsi:type="xsd:string">proxyPassword</key>
<value xsi:type="xsd:string"></value>
</Entry>
</Entries>
</XmlS