I have the following problem. I have a project A
(Windows forms) and project B
(MVC Application). In Project A
, I am referencing Project B
, because I want to use some classes from it. At one point I have to get, the modificated connection string, from the Project B
and connect to database in Project A
.
Code in Project B
, that is manipulation the connection string:
public static string ConnectionString = "";
public TheClassThatManipulateTheConnectionString (){
ConnectionString = ManageConnectionString();
}
private string ManageConnectionString(){
WriteToFile.WriteToTextFile("0");
string ConfigurationString = ConfigurationManager.ConnectionStrings["DbConnectionString"].ConnectionString;
WriteToFile.WriteToTextFile("1");
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(ConfigurationString);
WriteToFile.WriteToTextFile("2");
DbProviderFactory factory = DbProviderFactories.GetFactory(entityBuilder.Provider);
WriteToFile.WriteToTextFile("3");
DbConnectionStringBuilder providerBuilder = factory.CreateConnectionStringBuilder();
WriteToFile.WriteToTextFile("4");
providerBuilder.ConnectionString = entityBuilder.ProviderConnectionString;
WriteToFile.WriteToTextFile("5");
providerBuilder.Add("Password", "ThePassword");
WriteToFile.WriteToTextFile("6");
entityBuilder.ProviderConnectionString = providerBuilder.ToString();
WriteToFile.WriteToTextFile("7");
return entityBuilder.ToString();
}
Code in Project A
, that is invoking Project B
method:
public Form1(){
InitializeComponent();
ProjectB.Folder.Folder.TheClassThatManipulateTheConnectionString TheClassThatManipulateTheConnectionString = new ProjectB.Folder.Folder.TheClassThatManipulateTheConnectionString ();
using (ProjectB.Folder.Folder.Context db = new ProjectB.Folder.Folder.Context TheClassThatManipulateTheConnectionString.TheConnectionString))
{ }
}
Exceoption writen to the file along with the track code
.
'08/06/2014 21:29:35: 0
08/06/2014 21:29:35: Exception: System.NullReferenceException: Object reference not set to an instance of an object.'
Exception from Project A
at System.Data.Entity.Utilities.Check.NotEmpty(String value, String parameterName)
at System.Data.Entity.DbContext..ctor(String nameOrConnectionString)
at ProjectB.Folder. Folder.Context..ctor(String ConnectionString) in c:\Users\Administrator\Documents\Visual Studio 2013\Projects\ ProjectB \ ProjectB \ Folder \ Folder \DBEntities.Context.cs:line 20
at ProjectA.Form1.FillUsers() in c:\Users\Administrator\Documents\Visual Studio 2013\Projects\ ProjectA\ ProjectA \Form1.cs:line 51
On the text file, I can see 0
, but not 1
. My question is, why the configuration manager is not working properly, when invoked it into Project A.