问题标签 [managed-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 C# 应用程序中导出 c++ 函数
您好,很抱歉打扰,我会提出这个问题:
我正在尝试在 DLL 中导出一些用 c++ 编写的函数,以便将它们导入在 Visual Studio 上运行的 C# 应用程序中。我按照以下代码中的报告进行导出,
tobeexported.h:
tobeexported.cpp:
dll 已正确创建,代码已经由 CLR 管理(使用反汇编软件(反射器)查看)并包含导出的函数,然后我在我的 c# 应用程序中“添加引用”并找到了 dll,但是当我打开它时使用对象浏览器,它是完全空的,既没有类也没有对象被导出并准备好使用
你能帮我吗?谢谢最好的问候
.net - 如何抑制对托管方法的直接调用?
我想知道这是否本质上是可能的:
想想云场景。我允许用户将他们的 .net 代码上传到我的服务器上。但是,为了管理我的服务器上的东西,我不能允许用户编写直接调用诸如 HttpWebRequest.Create() 之类的方法的代码。
如果用户编写了这样的代码,则意味着他/她正在尝试联系另一个 Web 服务(例如)。我的目标是通过另一台服务器提供这些服务,但仍然让主服务器处理其他传入请求。
我想阻止对 HttpWebRequest.Create() 的调用。相反,我将为用户提供一些接口来进行此类调用。对于这个问题,我能想到什么样的解决方案?
PS:我更倾向于.net 2.0。如果您回答与更高版本的交易,请具体说明
c# - .NET 代码编译还是复杂?
Q1) 为什么 C# 最初编译为 IL,然后在运行时 JIT 编译并在虚拟机上运行(?)。还是 JIT 符合本机机器代码?
Q2)如果第二个为真(JIT 符合本机机器代码),那么代码运行的 .NET 沙箱在哪里?
Q3)另外,为什么首先将代码编译为IL。为什么不一直简单地编译为本机代码呢?MS 有一个名为 ngen 的工具,但为什么它是可选的?
.net - 为什么 .NET 框架不包含 USB 工具
我想知道为什么 .NET 框架不提供任何使用 USB 驱动程序的托管方法。从我读过的所有内容来看,您仍然必须调用 Windows API 并使用编组和 PInvoke 以及我们.NET 程序员都不想做的所有废话。为什么 .NET 提供了与串行端口通信的方法,但没有提供与 USB 端口通信的方法?现在 USB 已经比串口使用得更广泛了,是不是应该将它整合到框架中?
c# - 如何避免加载程序锁定?
我们有一个使用程序集的托管应用程序。该程序集使用一些非托管 C++ 代码。
托管 C++ 代码位于一个 dll 中,它依赖于其他几个 dll。所有这些 Dll 都由此代码加载。(我们首先加载 ImageCore.dll 所依赖的所有 dll,这样我们就可以知道哪些缺失了,否则它只会显示为 ImageCore.dll 加载失败,并且日志文件不会提供有关原因的线索)。
这段代码由
这是静态构造函数。
据我所知,一旦我们尝试使用 ImageDoc 对象,就会加载包含该程序集的 dll,并且作为该加载的一部分,调用静态构造函数,这反过来又会导致其他几个 DLL 被加载为出色地。我想弄清楚的是,我们如何推迟加载这些 DLL,这样我们就不会在这个由于静态构造函数而被踢出的加载程序锁中运行 smack dab。
我通过查看以下内容拼凑了这么多:
- http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/dd192d7e-ce92-49ce-beef-3816c88e5a86
- http://msdn.microsoft.com/en-us/library/aa290048%28VS.71%29.aspx
- http://forums.devx.com/showthread.php?t=53529
- http://www.yoda.arachsys.com/csharp/beforefieldinit.html
但是我似乎无法找到一种方法来加载这些外部 DLL,而不会在类加载时发生这种情况。我想我需要从静态构造函数中获取这些 LoadLibrary 调用,但不知道如何在需要它们之前调用它们(除了这里是如何完成的)。我宁愿不必将这种 dll 知识放入使用此程序集的每个应用程序中。(而且我不确定这是否能解决问题......
奇怪的是,异常似乎只在调试器内运行时发生,而不是在调试器外运行时发生。
我如何设法加载这些 DLL 而不会遇到以下问题:
c# - 将 Luabind 转换为 C#?
有没有人尝试将 Luabind 转换为 C#?这样的事情甚至可能吗?
我有一个要转换的应用程序,以便它可以在完全托管的环境中运行,但是大多数游戏逻辑都依赖于 Lua 脚本,并且该应用程序使用 Luabind 来管理来回。我对 Lua 或 Luabind 不够熟悉,不知道其中涉及到什么。
我在这里做傻事吗?
.net - 从 SQL 存储过程调用方法(来自 .net 托管 dll) - 帮助
我们想从(SQL Server 2005/2008)中的存储过程调用 .NET 托管代码(部署为 dll)
我们找到了几个解决方案,但无法使其正常工作:
遵循本文中提到的步骤http://www32.brinkster.com/srisamp/sqlArticles/article_33.htm - 给我们留下以下错误代码:0x80131700
在另一篇文章中,提到为这个错误创建 COM+ 服务器应用程序,但这在我们的环境中是不可能的。 http://www.sqlnewsgroups.net/group/microsoft.public.sqlserver.server/topic16144.aspx
是否有正确记录和尝试过的解决方案?
.net - 有没有一种常见的做法是如何在 .NET 中更轻松地释放垃圾收集器的内存?
我一直在考虑是否有一种方法可以加快 .NET 中的内存释放速度。我正在.NET(仅托管代码)中创建一个不需要重要图形的游戏,但我仍然想正确编写它,以免白白失去性能。
例如,将空值分配给不再需要的对象是否有用?我在 Internet 上的一些示例中看到了这一点。
c# - 是否有本地 .NET 方法或等效于 user32.dll 的 GetKeyboardState?
解答:此方法没有本机管理的等效项。但是,可以在pinvoke.net上找到一个很好的托管代码 API 示例。
大家好
我有一个接受“跟踪模式”标志的应用程序。跟踪模式打开包含文本框的表单。文本框通过自定义 TraceListener 对象显示输出。如果命令行中存在 -t,则跟踪窗口将从其自己的低优先级线程中打开。对于在出现问题时尝试诊断应用程序的顾问来说,这很方便。
一些顾问要求在启动过程中按一些不起眼的组合键应该打开跟踪模式,这样他们就不必每次都去命令行激活它。这是一个合理的要求。
我不想为此给他们一个按钮或菜单项,因为顾问们关心的许多关键信息会在启动时在创建主窗体之前显示给 Trace,因为各种组件被实例化和初始化。
我认为它应该足够简单以检测 .NET 中的当前键盘状态 - 但似乎在我所看到的任何地方,建议是使用 [DllImport("user32.dll", EntryPoint = "GetKeyboardState", SetLastError = true) ] 作为检测正在发生的事情的方法。
这一切都很好——我对此很满意。但是,作为一般经验法则,我会尝试确保在尝试自行开发之前使用本地 .NET 托管代码来实现 Windows 功能。
是否有本地 .NET 方法或等效于 user32.dll 的 GetKeyboardState?
c# - 在 SQL Server 2008 中运行托管代码 - 有什么问题吗?
我想知道与通过 SQL Server 2008 运行托管代码相关的性能问题。我听说过一些内存和速度问题。
具体来说,我想实现一个 SHA256 散列 DLL 并使用 SQL Server 2008 将其作为存储过程执行。
或者,我可以简单地从我的 .Net 应用程序执行散列,然后将字符串传递给我的存储过程。
优点缺点?
谢谢。