componentmodel,componentmodel c#

http://www.itjxue.com  2023-01-16 10:18  来源:未知  点击次数: 

错误 类型“System.ComponentModel.Component”在未被引用的程序集中定义。必须添加对程序集XXX的引用

这是说你缺少引用一个程序

就是说你项目用到了一些控件,但是你项目本身没有引用它

可以添加using

或者在页面最上面添加System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=969db8053d3322ac

或者在你项目中BIN目录下右键添加引用

下面给你的列子

%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %

%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

Namespace="System.Web.UI" TagPrefix="asp" %

System.ComponentModel.Win32Exception: 系统找不到指定的文件,请问你是怎么解决的啊?

很简单,果断是你使用了某个软件或程序,然后它需要运行这个文件,但是你没有,就这么简单!一般的情况可以去网上下载这个文件,确保没毒就哦了!

关于C#这段代码private System.ComponentModel.IContainer components = null;

有用到的,只是你没看见而已。

///

summary

///

清理所有正在使用的资源。

///

/summary

///

param

name="disposing"如果应释放托管资源,为

true;否则为

false。/param

protected

override

void

Dispose(bool

disposing)

{

if

(disposing

(components

!=

null))

{

components.Dispose();

}

base.Dispose(disposing);

}

仔细找下这段代码,这个就是关于它的使用了。

我们经常看见许多.NET的Class是从System.ComponentModel.Component继承过来的,他实现了System.ComponentModel.IComponent接口,而且MS也在Visual

Studio

.NET中,推荐你经常使用System.ComponentModel.Component作为基础类。但是很遗憾,很多人不知道为什么这样做。

MS的解释包括:

IComponent

接口继承自

System.IDisposable

接口,这样可以控制对象的释放。

System.ComponentModel.Win32Exception: 找不到应用程序怎么解决用什么方法解决呢?

昨天晚上奋斗到两点,做完了一个图片处理软件,突然想到上次上网看到C#程序脱离.NET FRAMEWORK运行的文章,于是决定自己动手试一下 。

之前看到有用别的方法来实现的,但我还是选择了现在比较流行的软件飞信中带的VMDotNet,也就是所谓的.NET FRAMEWORK虚拟机吧。

相信有很多人也已经看过相关文章了,但是对于新手我还是再提一下,在你的飞信的安装目录下有一个VMDotNet文件夹,

这 个就是我们要用的最主要的内容了,先把它COPY出来吧!

下面先来简单说明一下VMDotNet文件夹吧,在这个文件夹之下有一个v2.0.50727文件夹,

很明显是.NET FRAMEWORK的版本号啦,进入这个文件夹,里面有一个FetionVM.exe的可执行文件(飞信的图标),

这个便是我们要用到的虚拟机文件了。其 它文件我们不用考虑。这个程序可以带入一个参数,即要在此虚拟环境下运行的程序的路径。

形如FetionVM.exe C:\1.exe,也可以使用相对路径:FetionVM.exe 1.exe,当然这样要求两者在同一目录下啦。

这里顺便要再说一下VMDotNet.log这个文件,这里记录了在调用FetionVM.exe时的错误 信息,

主要是路径不对,找不到对应的程序。在了解了这个文件夹之后,我们可以动手开始做啦!

把这个文件夹复制到你的项目的DEBUG目录下,我的已有项目名为PicProcessor,

生成的可执行文件为,当然你也可以视情况而定了,如果放别的地方就应该注意一下路径就好了。

在这里我们需要再新建一个C#应用程序项目,我把它命名为PicStart,把FORM1.CS删除,

或者直接新建一个控制台程序,在Program.cs中写入以下代码:

using System;

using System.Collections.Generic;

using System.Windows.Forms;

namespace PicStart

{

static class Program

{

/// summary

/// 应用程序的主入口点。

/// /summary

[STAThread]

static void Main()

{

//下面是调用外部程序的代码

System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();

Info.FileName = "VMDotNet\\v2.0.50727\\FetionVM.exe"; //这里是你要调用到的外部程序

Info.Arguments = "PicProcessor.exe"; //调用外部程序的参数,这里是图片处理项目的可执行文件,注意不是现在这个项目的可执行文件

System.Diagnostics.Process Proc;

try

{

//

//启动外部程序

//

Proc = System.Diagnostics.Process.Start(Info);

}

catch (System.ComponentModel.Win32Exception e)

{

Console.WriteLine("系统找不到指定的程序文件。\r", e);

return;

}

}

}

}

在做完了这个项目以后我们生成此项目,这个时候我们就可以开始制作程序的安装文件了。

以前我们利用VS2005做安装包的时候可以选择把.NET FRAMEWORK集成进去,但现在我们不用了,请大家把相应的选项全部去掉,还不会使用VS2005安装和部署功能的朋友请到此网址去看一下。

我们把PicProcessor和PicStart项目都添加进新建的安装和部署项目Setup中来,把程序启动的快捷方式全部设为 PicStart.exe就可以了,具体的操作方法在上面的链接里有。然后开始生成安装包,生成的安装包如果选择大小优先的话,VMDotNet会占用大 概10Mb左右的空间,然后加上你程序的大小就是这个安装文件的大小了,比以前20多MB的.Net Framework小多了,而且安装速度也要快的多,这样程序在没有.Net Framework的机器上也能运行了,大家都试试吧,有什么问题可以给我留言。每天晚上一般我都会上线,会及时给大家回复的!

转载自:

(责任编辑:IT教学网)

更多