草庐IT

c# - 不存在从对象类型 System.Web.UI.WebControls.TextBox 到已知托管提供程序 native 类型的映射

这是我的代码SqlCommandcmd=newSqlCommand("spRegisterUser",con);cmd.CommandType=CommandType.StoredProcedure;SqlParameterusername=newSqlParameter("@UserName",txtUserName.Text);SqlParameterpassword=newSqlParameter("@Password",txtPassword);SqlParameteremail=newSqlParameter("@Email",txtEmail.Text);SqlParame

c# - 使用 native C# API 管理我的 Azure 云服务?

我想以编程方式管理我的Azure云服务。我知道RESTAPI,但我想知道它是否是原生C#API,就像Azure存储一样可用。RESTAPI-托管服务操作:http://msdn.microsoft.com/en-us/library/windowsazure/ee460812.aspx或者我是否需要按照下面的帖子所述自行包装RESTAPI?Azure-无法以编程方式执行VIP交换:Azure-CannotprogrammaticallyperformVIPSwap谢谢。编辑:CSManage的建议对我帮助很大。您可以重用ServiceManagement项目并编写您自己的客户端(而不是

c# - 如何从 C# 项目的构建事件访问 Visual Studio 解决方案级平台?

我们有一个主要是C#代码的大型VS2010解决方案,但有一些各种C#项目依赖的nativeDLL(包括我们的单元测试DLL)。我们正在尝试同时支持32位和64位版本的库。所以我们现在将nativeDLL构建为32位和64位。问题是我们的很多C#项目都有生成后事件,这些事件将所需的nativeDLL复制到项目的TargetDir中。现在我们有两个不同版本的nativeDLL(32位和64位),我需要能够指定正确的目录以从中复制nativeDLL。我原本以为我可以像这样在路径中简单地使用$(Platform):copy$(SolutionDir)\NativeDll\$(Platform)

c# - C++/CLI 性能与 native C++ 相比?

早上好我正在编写一个拼写检查器,在这种情况下,它对性能至关重要。那就是,因为我计划连接到数据库并使用C#制作GUI,所以我用C编写了一个编辑距离计算例程,并使用DllImport编译为我在C#中使用的DLL。问题是,我认为(尽管我可能错了)将单词从String一个接一个地编码到char*会导致很多高架。那就是,我考虑过使用C++/CLI,以便我可以直接在.NET中使用String类型......我的问题是C++/CLI性能与nativeC代码相比如何重数学计算和数组访问?非常感谢。 最佳答案 C++/CLI也必须进行某种编码(mar

c# - 启用 native 代码调试以深入 COM 对象

我有一些代码使用由COM公开的第3方库(ArcObjects)。例如,IGeometry接口(interface)。IGeometrygeometry=GetGeometry();现在,当我想查看对象成员时,我打开一个QuickWatch:我读过几个问题,它们都指向VisualStudio2015中的“启用native代码调试”选项。我已经启用该选项但无济于事。如何让调试器公开COM对象的成员?编辑:当使用VS2010和.NET3.5时,这有效: 最佳答案 如果您还拥有组件的PDB和源代码,则启用非托管调试只会产生有用的副作用。你不

c# - 几个 AppDomains 和 native 代码

我的C#应用程序使用非线程安全的native代码。我可以运行该本地代码的多个进程,使用进程间通信来实现并发。我的问题是,我是否可以改用AppDomains,以便多个托管线程(每个线程位于不同的AppDomain上)调用native代码并且它们不会相互干扰?主要目标是防止进程分离。 最佳答案 不,AppDomains是一个纯粹的托管代码概念。它通过将托管对象根分开来实现隔离。一个AppDomain看不到另一个AppDomain的对象,这使得中止代码和卸载程序集变得非常安全。绝非偶然,它会丢弃所有可能包含状态的数据。非托管代码完全不知道

c# - 托管C++,形成C#和C++之间的桥梁

我有点生疏,实际上我的C++生疏了。自大学一年级以来就没有碰过它,所以已经有一段时间了。无论如何,我正在做与大多数人所做的相反的事情。从C++调用C#代码。我在网上做了一些研究,看来我需要创建一些托管C++来形成一座桥梁。使用__declspec(dllexport)然后从中创建一个dll并将整个东西用作包装器。但我的问题是-我真的很难找到示例。我发现了一些基本的东西,其中有人想将C#版本用于String.ToUpper(),但那是非常基本的,只是一小段代码。有人知道我可以在哪里寻找更具体的东西吗?请注意,我不想使用COM。目标是完全不接触C#代码。 最佳答

c# - 是否可以在没有 UWP 的情况下使用 .NET Native?

是否可以使用.NETNative将C#/.NET应用程序编译为native二进制文件而不是UWP应用程序?例如,4.5控制台应用程序?我在.NETNative上观看了2个多小时的视频并阅读了文档,但他们没有明确回答这个问题。 最佳答案 对此没有完美的解决方案,但有几个替代方案:NativeAOT,以前称为“CoreRT”,它支持在目标平台(OS和CPUArch)上从托管dll到二进制可执行文件的完全native编译,但它仍然被标记为“实验性”(更新:自.NET7以来合并到主线预览)缺少很多功能。IL2CPP,仅由Unity开发和使用

c# - native 和托管析构函数

我有一个native对象(C++),它有一个指向托管对象(C#)的gcroot指针。classSomeNativeClass{gcrootmanagedClass;};问题当我在我之前分配的native代码delete(someNativeClass)中删除此类的native实例时,managedClass实例是否会被垃圾收集或我是否应该显式删除它(在native析构函数)也是吗? 最佳答案 Ifonlydeletethenativeobjectandthemanagedisnotreferencedanywhereelse,wou

C# Native Interop - 为什么大多数库使用 LoadLibrary 和委托(delegate)而不是 SetDllDirectory 和简单的 DllImport

有一个greatansweronSO关于如何在运行时为DllImport设置搜索目录。使用两行代码即可正常工作。但是,许多开源项目改为使用LoadLibrary函数。有“谣言”说通过委托(delegate)调用native方法速度较慢。我称它们为“谣言”,因为我只在两个地方看到过这种情况,而且无论如何这都是微观优化。最有意思的地方是这篇博文:http://ybeernet.blogspot.com/2011/03/techniques-of-calling-unmanaged-code.html在那里,作者测量了不同技术的性能:C#(信息性)4318毫秒PInvoke-抑制安全5415