疯了C# dllimport 调用问题

[DllImport("System.Windows.Forms.dll",EntryPoint="MessageBox.Show")]这样调用之后会提示EntryPoi... [DllImport("System.Windows.Forms.dll",EntryPoint = "MessageBox.Show")] 这样调用之后会提示EntryPointNotFoundException: Show,请问正确的应该怎么写? 展开
 我来答
miniappmLWLo11g6JeNA
推荐于2016-12-02 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:115万
展开全部
DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息。
System.Windows.Forms.dll对应的dll明显是托管的。
追问
比如我用.net2.0的程序能不能用这个调.net2.0以上的dll
追答
  1. 依赖于.net平台clr的就是托管的,dllimport功能是提供从非托管DLL导出的函数的必要调用信息。

  2. .net 2.0理论上可以调用.net 4.0的几种方式:

    1)<startup><requiredRuntime version="4.0.30319" safemode="true"/></startup>

    2)用一个文本编辑器打开csproj文件,然后编辑引用的属性,加上        <SpecificVersion>True</SpecificVersion>就可以了。

            假定你的.Net 4类库名是ClassLibrary1的话,这个引用看起来是这个样子:

            <ProjectReference Include="..\ClassLibrary1\ClassLibrary1.csproj">

              <Project>{A6EB8D5E-5C2F-44D6-AF2E-C00D74025329}</Project>

              <Name>ClassLibrary1</Name>

              <SpecificVersion>True</SpecificVersion>

            </ProjectReference>

      3)C#4.0的dll做成COM,调用。

  3.  你做什么东西这么古怪变态,.net2,0还想用.net 4.0的东西?建议查找下第三方有没有.net     2.0某公司做你们需要的dll。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式