我正在构建一个dll,它引用了第二个dll.我已经在第一个dll的项目中添加了第二个dll作为参考Properties > Common Properties > Framework and References > Add New Reference > Browse
我从第三方的源代码编译了第二个dll.这两个项目都是C++/CLI.每当我的主应用程序试图调用包含对第二个dll的调用的第一个dll中的函数时,我会收到以下错误:
未知模块中出现未处理的"System.IO.FileNotFoundException"类型异常.
附加信息:无法加载文件或程序集'NBIS,Version = 1.0.5156.29834,Culture = neutral,PublicKeyToken = null'或其依赖项之一.该系统找不到指定的文件.
我有一个与我的主exe在同一目录中的第二个dll的副本,我甚至尝试在第一个dll旁边保留一个副本,但无济于事.
第二个dll引用了几个静态库,但它包含的唯一程序集引用是
系统
System.Data
System.Drawing中
了System.XML
我在第一个dll中添加了所有这些作为程序集引用.
我该怎么做才能让我的应用程序找到并加载第二个dll?
我有一个包含多个链接的页面.这些链接应该做一个ajax帖子和回调.但是,该链接正在执行Get而不是Post.这会导致404错误,因为我没有操作方法来处理请求的URL获取.
如果我从我的Action方法中删除HTTPPost属性,该链接可以正常工作,但是回调失败并且我返回的Json将在新页面中呈现.
这是我在视图中使用的代码.
<td id="action-@item.ItemID">@Ajax.ActionLink("Add", "AddToOrder", new { itemID = item.ItemID }, new AjaxOptions { HttpMethod = "POST", OnSuccess = "actionCompleted" }, new { id = "add-" + item.ItemID })</td>
Run Code Online (Sandbox Code Playgroud)
这最终会添加此HTML:
<td id="action-012679"><a data-ajax="true" data-ajax-method="POST" data-ajax-success="actionCompleted" href="/mysite/neworder/AddToOrder?itemID=012679" id="add-012679">Add to Order</a></td>
Run Code Online (Sandbox Code Playgroud)
我的控制器具有以下操作方法.
[HttpPost]
public JsonResult AddToOrder(string itemID) {
return Json(new { id = itemID, Action = "Added", "Just getting this working"});
}
Run Code Online (Sandbox Code Playgroud)
我在Success上调用的回调方法如下所示:
<script language="javascript" type="text/javascript">
function actionCompleted(response, status, data) {
alert("We have returned");
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果我将操作方法的[HTTPPost]属性更改为[HTTPGet],则会出现Json错误.我可以通过将JsonRequestBehavior.AllowGet添加到我的返回值来解决这个问题,但是这不会使用页面上定义的回调函数而失败.
任何帮助,将不胜感激.