如何在Office JavaScript加载项中调用.NET dll?
我是JavaScript新手。我正在为Office Online开发JavaScript插件。 我正在尝试调用外接程序中的某个.NET dll。我在visualstudio项目“appforoffice”中创建了JavaScript插件,并尝试使用jqueryajax来使用.netdll 用于测试的Javascript代码:如何在Office JavaScript加载项中调用.NET dll?,javascript,c#,office365,Javascript,C#,Office365,我是JavaScript新手。我正在为Office Online开发JavaScript插件。 我正在尝试调用外接程序中的某个.NET dll。我在visualstudio项目“appforoffice”中创建了JavaScript插件,并尝试使用jqueryajax来使用.netdll 用于测试的Javascript代码: (function () { "use strict"; // The initialize function must be run each
(function () {
"use strict";
// The initialize function must be run each time a new page is loaded
Office.initialize = function (reason) {
$(document).ready(function () {
app.initialize();
$('#update-stocks').click(updateStocks);
});
};
function updateStocks() {
Excel.run(function (ctx) {
function CallHandlerSync(inputUrl, inputdata) {
$.ajax({
url: inputUrl,
contentType: "application/json; charset=utf-8",
data: inputdata,
async: false,
success: function (result) {
var objResult = $.parseJSON(result);
app.showNotification(objResult.Total);
},
error: function (e, ts, et) {
app.showNotification("Error...");
}
});
}
var number1 = 10;
var number2 = 20;
CallHandlerSync("Handler.ashx?RequestType=AddNum", { 'number1': number1, 'number2': number2 });
}).catch(function (error) {
app.showNotification("Error", error);
})
}
})();
Handler.ashx中的代码
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.ContentType = "text/html";
var strResult = string.Empty;
switch (context.Request.QueryString["RequestType"].Trim())
{
case "AddNum":
strResult = this.AddNumber(
Convert.ToInt32(context.Request["number1"]),
Convert.ToInt32(context.Request["number2"]));
break;
}
context.Response.Write(strResult);
}
public bool IsReusable
{
get
{
return false;
}
}
public string AddNumber(int number1, int number2)
{
int total = 0;
ClassLibrary1.Class1 sampleLib = new ClassLibrary1.Class1();
total = sampleLib.Add(number1, number2);
var jsonData = new
{
Total = total
};
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
return javaScriptSerializer.Serialize(jsonData);
}
}
}
用于测试的C#dll
public class Class1
{
public int Add(int X, int Y)
{
return X + Y;
}
}
这段代码可以编译。但当我运行程序时,我得到了ajax错误。我的回应是“无法加载文件或程序集'ClassLibrary1'或其依赖项之一。试图加载格式不正确的程序”
我做错了什么?或者我应该用另一种方式完成我的任务
试图加载格式不正确的程序
通常,此错误是x86与x64编译问题。试试“任意CPU”
右键单击解决方案>属性和目标“任意CPU”。试图加载格式不正确的程序。“-通常这是一个x86对x64的编译问题。试试“任何CPU”,谢谢!我尝试了“任何CPU”,程序正在运行!