我有一个我创建的图书馆项目,到目前为止已经在三个项目中使用过。一个WPF项目,一个Windows Forms项目和一个Web应用程序项目。dll将App.Config文件用于办公室常用的各种密钥,例如网络存储驱动器的路径。因此,现在要求我分别为MS Office 2010 Excel和Access创建一个插件。
现在,我以前遇到过这样的情况,库项目将使用配置文件作为其调用项目,因此我不得不将密钥添加到该项目的配置文件中,因此我想我将对该项目执行相同的操作。我开始摆弄它,以了解如何使Office应用程序调用dll方法,并立即看到它没有从App.Config文件中找到任何内容。
环顾四周后,我发现Office加载项项目实际上只是一个实现IDTExtensibility2接口并将其自身注册为COM dll的项目。所以现在我遇到的情况是,我有一个具有从属dll的dll,并且它们都不在配置文件中找到任何内容。那么在这种情况下我将配置文件放在哪里?我尝试将其与Excel.exe一起放在Office 14文件夹中,以及与使用加载项但无济于事的Excel工作表放在同一文件夹中。任何想法都将不胜感激。谢谢!
这个让我难过.以下是代码的相对位:
public AgencyDetails(Guid AgencyId)
{
try
{
evgStoredProcedure Procedure = new evgStoredProcedure();
Hashtable commandParameters = new Hashtable();
commandParameters.Add("@AgencyId", AgencyId);
SqlDataReader AppReader = Procedure.ExecuteReaderProcedure("evg_getAgencyDetails", commandParameters);
commandParameters.Clear();
//The following line is where the error is thrown. Errormessage: Invalid attempt to call Read when reader is closed.
while (AppReader.Read())
{
AgencyName = AppReader.GetOrdinal("AgencyName").ToString();
AgencyAddress = AppReader.GetOrdinal("AgencyAddress").ToString();
AgencyCity = AppReader.GetOrdinal("AgencyCity").ToString();
AgencyState = AppReader.GetOrdinal("AgencyState").ToString();
AgencyZip = AppReader.GetOrdinal("AgencyZip").ToString();
AgencyPhone = AppReader.GetOrdinal("AgencyPhone").ToString();
AgencyFax = AppReader.GetOrdinal("AgencyFax").ToString();
}
AppReader.Close();
AppReader.Dispose();
}
catch (Exception ex)
{
throw new Exception("AgencyDetails Constructor: …Run Code Online (Sandbox Code Playgroud)