DotNetNuke C# 'System.IO.FileNotFoundException':无法加载文件或程序集
DotNetNuke C# 'System.IO.FileNotFoundException' : Could not load file or assembly
我创建了 2 个 DotNetNuke 项目,第一个项目名称为 FormAndList,第二个项目名称为 FormAndList_Ext。
在 FormAndList 中,我必须按以下示例代码调用 FormAndList_Ext。
FormAndList 项目中的函数
public void UpdateRow(DataSet ds, int ModuleId, int TabId)
{
UserDefinedController udtc = new UserDefinedController();
errMessage = udtc.userDefinedLogic(ds);
}
FormAndList_Ext
中的 UserDefinedController 类
public class UserDefinedController
{
#region Constructors
public UserDefinedController()
{
}
#endregion
public ErrorMessage userDefinedLogic(DataSet ds)
{
int rowNr = 0;
bool isDataToImport = false;
bool isError = false;
var currentRow = ds.Tables["Data"].Rows[rowNr];
ErrorMessage errMessage = new ErrorMessage();
foreach (DataRow field in ds.Tables["Fields"].Rows)
{
var strColumnName = field["FieldTitle"].ToString();
var strValueColumn = ((!isDataToImport &&
ds.Tables["Data"].Columns.Contains(strColumnName + "_UDT_Original"))
? strColumnName + "_UDT_Original"
: strColumnName);
string InsertData = currentRow[strValueColumn].ToString();
if (InsertData == "Ali" || InsertData == "Ahmad")
{
isError = true;
}
}
if (isError)
{
errMessage.setErrorCode(true);
errMessage.setErrorMessage("Insert Unsuccessfully. Please retry it again. (User Defined Error)");
}
else
{
errMessage.setErrorCode(false);
}
return errMessage;
}
}
在我的 FormAndList 引用文件夹中,我添加了对 FormAndList_Ext 文件的引用。
当我重建它时没有任何错误。
我也已将 FormAndList_Ext.dll 包含在我的门户 bin 文件夹中。
但是当我 运行 我的应用程序在我的 DNN 门户中时。它向我显示以下错误。
Error: is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: Could not load
file or assembly 'FormAndList_Ext, Version=0.0.1.31963,
Culture=neutral, PublicKeyToken=null' or one of its dependencies. The
system cannot find the file specified. --->
System.IO.FileNotFoundException: Could not load file or assembly
'FormAndList_Ext, Version=0.0.1.31963, Culture=neutral,
PublicKeyToken=null' or one of its dependencies. The system cannot
find the file specified. at
DotNetNuke.Modules.UserDefinedTable.StandardDefinedTableController.UpdateRow(DataSet
ds, Int32 ModuleId, Int32 TabId) at
DotNetNuke.Modules.UserDefinedTable.EditForm.cmdUpdate_Click(Object
sender, EventArgs e) --- End of inner exception stack trace ---
有什么解决办法吗?
最后我自己想出来了。我只将 FormAndList 文件上传到我的 DNN 门户。我没有将 FormAndList_Ext 文件上传到我的 DNN 门户。因此应用程序无法识别 FormAndList_Ext 代码。
我解决的解决方案是同时上传 FormAndList 和 FormAndList_Ext 文件。
我创建了 2 个 DotNetNuke 项目,第一个项目名称为 FormAndList,第二个项目名称为 FormAndList_Ext。
在 FormAndList 中,我必须按以下示例代码调用 FormAndList_Ext。
FormAndList 项目中的函数
public void UpdateRow(DataSet ds, int ModuleId, int TabId)
{
UserDefinedController udtc = new UserDefinedController();
errMessage = udtc.userDefinedLogic(ds);
}
FormAndList_Ext
中的 UserDefinedController 类public class UserDefinedController
{
#region Constructors
public UserDefinedController()
{
}
#endregion
public ErrorMessage userDefinedLogic(DataSet ds)
{
int rowNr = 0;
bool isDataToImport = false;
bool isError = false;
var currentRow = ds.Tables["Data"].Rows[rowNr];
ErrorMessage errMessage = new ErrorMessage();
foreach (DataRow field in ds.Tables["Fields"].Rows)
{
var strColumnName = field["FieldTitle"].ToString();
var strValueColumn = ((!isDataToImport &&
ds.Tables["Data"].Columns.Contains(strColumnName + "_UDT_Original"))
? strColumnName + "_UDT_Original"
: strColumnName);
string InsertData = currentRow[strValueColumn].ToString();
if (InsertData == "Ali" || InsertData == "Ahmad")
{
isError = true;
}
}
if (isError)
{
errMessage.setErrorCode(true);
errMessage.setErrorMessage("Insert Unsuccessfully. Please retry it again. (User Defined Error)");
}
else
{
errMessage.setErrorCode(false);
}
return errMessage;
}
}
在我的 FormAndList 引用文件夹中,我添加了对 FormAndList_Ext 文件的引用。 当我重建它时没有任何错误。
我也已将 FormAndList_Ext.dll 包含在我的门户 bin 文件夹中。
但是当我 运行 我的应用程序在我的 DNN 门户中时。它向我显示以下错误。
Error: is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: Could not load file or assembly 'FormAndList_Ext, Version=0.0.1.31963, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. ---> System.IO.FileNotFoundException: Could not load file or assembly 'FormAndList_Ext, Version=0.0.1.31963, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. at DotNetNuke.Modules.UserDefinedTable.StandardDefinedTableController.UpdateRow(DataSet ds, Int32 ModuleId, Int32 TabId) at DotNetNuke.Modules.UserDefinedTable.EditForm.cmdUpdate_Click(Object sender, EventArgs e) --- End of inner exception stack trace ---
有什么解决办法吗?
最后我自己想出来了。我只将 FormAndList 文件上传到我的 DNN 门户。我没有将 FormAndList_Ext 文件上传到我的 DNN 门户。因此应用程序无法识别 FormAndList_Ext 代码。
我解决的解决方案是同时上传 FormAndList 和 FormAndList_Ext 文件。