.NET程序集引用COM组件MSScriptControl时遇到问题,如何有效解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计392个文字,预计阅读时间需要2分钟。
问题描述:为了在C语言中实现一个简单的计算器程序,要求用户输入两个整数和一个运算符,然后根据输入的运算符进行加、减、乘或除运算,并输出结果。程序应能够处理以下运算符:+、-、*、/。注意,除法操作中除数不能为0。
程序内容:c#include
int main() { int num1, num2; char operator; int result;
printf(Enter two integers and an operator (+, -, *, /): ); scanf(%d %d %c, &num1, &num2, &operator);
switch (operator) { case '+': result=num1 + num2; break; case '-': result=num1 - num2; break; case '*': result=num1 * num2; break; case '/': if (num2==0) { printf(Error: Division by zero!\n); return 1; } else { result=num1 / num2; } break; default: printf(Error: Invalid operator!\n); return 1; }
printf(Result: %d\n, result); return 0;}
问题描述:为了在C#中执行js脚本,在一个目标平台编译为Any Cpu的.NET程序集中引用了MSScriptControl组件,在winform程序中,调用这个程序集中的执行js的方法,没有任何问题。但是在windows服务中调用却报错,报错信息如下:
在尝试过很多方法之后仍然没有解决,包括将MSScriptControl组件的引用属性“嵌入互操作类型”设置为false,如图所示:
这样子修改之后,报另外一个错误:
解决方案:MSScriptControl组件是32位的,所以需要将程序集的目标平台设置为X86平台,才能使用。设置如图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计392个文字,预计阅读时间需要2分钟。
问题描述:为了在C语言中实现一个简单的计算器程序,要求用户输入两个整数和一个运算符,然后根据输入的运算符进行加、减、乘或除运算,并输出结果。程序应能够处理以下运算符:+、-、*、/。注意,除法操作中除数不能为0。
程序内容:c#include
int main() { int num1, num2; char operator; int result;
printf(Enter two integers and an operator (+, -, *, /): ); scanf(%d %d %c, &num1, &num2, &operator);
switch (operator) { case '+': result=num1 + num2; break; case '-': result=num1 - num2; break; case '*': result=num1 * num2; break; case '/': if (num2==0) { printf(Error: Division by zero!\n); return 1; } else { result=num1 / num2; } break; default: printf(Error: Invalid operator!\n); return 1; }
printf(Result: %d\n, result); return 0;}
问题描述:为了在C#中执行js脚本,在一个目标平台编译为Any Cpu的.NET程序集中引用了MSScriptControl组件,在winform程序中,调用这个程序集中的执行js的方法,没有任何问题。但是在windows服务中调用却报错,报错信息如下:
在尝试过很多方法之后仍然没有解决,包括将MSScriptControl组件的引用属性“嵌入互操作类型”设置为false,如图所示:
这样子修改之后,报另外一个错误:
解决方案:MSScriptControl组件是32位的,所以需要将程序集的目标平台设置为X86平台,才能使用。设置如图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

