Articles of .net

T4输出到string

我是新来的T4,我想生成CRUD存储过程,数据访问层,输出到string,我想创build一种webservice api有用的其他程序员也只是input数据,并下载zip文件。 我search了很多,但无法find一种方法来产生输出到string,是否有可能,任何文章,链接,一些代码,如果可能的话将是有益的。 是的,我们也可以使用StringBuilder,但问题是“T4输出到string”请欢迎所有types的答案,但尝试着重于这个问题。

获取registry项的值C#

我已经看过现有的主题,所以请尽量避免在这里丢弃链接。 我想获得registry项的价值 – 简单明了。 这是我迄今为止。 registry: 1)下了一个密钥 CURRENT_USER \ SOFTWARE \ Custom_Subkey \ Custom_Value \ Custom_key \ STRING_VALUE 我正在试图findstring_value string reg_subKey = "Software\\Custom_Subkey\\Custom_Value"; RegistryKey root = Registry.CurrentUser.CreateSubKey(reg_subKey); foreach (string keyname in root.GetValueNames()) { textBox4.AppendText(keyname.ToString() + Environment.NewLine); // Appends the following data to textBox4 once the foreach is completed: // Header1 // Header2 // Header3 // […]

如何从.NET客户端应用程序加载URL

在Windows上使用C#和.NET框架从胖客户端应用程序打开URL的首选方式是什么? 我希望它使用默认的浏览器。

Xamarin Studio不能build立一个控制台应用程序

我的问题类似于: Xamarin基础。 构build失败。 查看构build日志的细节 错误37977 – 如果没有安装.NET 4.5.1,C#consoleApp模板不会生成(但4.5是) 但没有任何解决scheme有帮助。 当创build一个简单的控制台应用程序,然后build立它,IDE说: 错误:生成失败。 有关详细信息,请参阅构build日志 (安慰) 而我找不到构build日志。 日志文件夹中的文件 – Ide*.log文件说: 警告[2016-06-29 14:24:56Z]:从SystemAssemblyService请求未注册的TargetFramework“.NETFramework,Version = v4.5.1”,返回空的TargetFramework 错误[2016-06-29 14:24:56Z]:获取引用的程序集时出错System.InvalidOperationException:找不到用于程序集的兼容框架… –snip– .NET v4.5.1是否与Xamarin Studio 6.0兼容?

从registry中检索Windows密码提示

我一直在尝试以编程方式提取Windows 7的Windowslogin密码提示,并且知道可以从registryHKLM \ SAM \ SAM \ Domains \ Account \ Users \“userkey”\ UserPasswordHint中的以下位置检索它。但是,我无法弄清楚是否有任何方式找出当前login用户编程的用户名?

InvokeHelper()抛出Access被拒绝exception

社区,我相当有趣,同时又有很重的问题。 我有VB.NET应用程序+服务+ C + +应用程序。 C ++应用程序生成一些数据,并使用InvokeHelper()方法进行callback: InvokeHelper(0x60030000, DISPATCH_METHOD, VT_EMPTY, NULL, parms, eventType, eventValue); 第一个参数是应该调用的方法的缺点。 奇怪的做法,但这不是我的代码,我不能改变这种方式。 在服务中,我有方法标记dispid属性从C ++应用程序获取此callback。 <DispId(&H60030000)> Public Sub ServerEvent(ByVal vEventType As Integer, ByVal vEventValue As Object) RaiseEvent ControlPanelStateChange(vEventType, vEventValue) End Sub 如果我以pipe理员身份login,此代码正常工作。 但是,如果windows用户没有pipe理员权限,在调用InvokeHelper()方法之后,会发生下一个exception: application.exe中0x75B7C42D(KernelBase.dll)的第一次机会exception:0x80070005:访问被拒绝 你有什么想法? 我玩DCOM的权限,但结果是一样的。 任何帮助将是太棒了!

如何使用C#Windows应用程序将字节中的图像写入MS WORD

我试图从FileStream , StreamWriter写入数据到一个word文件。 当数据是文本格式(使用StreamWriter )时,它工作正常。 但是,当我用Binarywriter (用于将文字写入Word文档)尝试相同的方法时, Binarywriter Word文档写入不正确。 在下面的代码中, lstOrderedSpares[index].SparePicture是包含图像数据的字节数组。 我需要一个没有OPENXML的解决scheme。 这是我迄今为止所尝试的: 这里是我的button点击我初始化的数据类和List private void btnCreateQuotation_Click(object sender, EventArgs e) { try { Quotation aQuotation = new Quotation(); aQuotation.QuotationId = quotationId; aQuotation.QuotationDate = lblQuotationDateValue.Text; //Reading from Datagridview and adding to List<Spare> List<Spare> lstOrderedSpares = new List<Spare>(); if (dataGridView1.Rows.Count > 0) { foreach (DataGridViewRow dr in […]

什么时候由.NET进程分配的内存被释放回Windows

安装程序 .NET为分段的每一代堆(0,1,2,LOH)分配内存,以便在启动时获得连续的内存块,并在收集之后尝试满足分配请求。 这个分配给每个堆的内存可能会随着应用程序“升温”而平稳下来,除了第2代和大对象堆以外。 在垃圾收集期间,每个堆(0,1,2)都被扫描和压缩,除了刚刚扫过的大对象堆(LOH)之外。 我理解集合的“扫描”部分意味着GC确定哪些对象不再是根源,并且可用于收集(或定稿),而“紧凑”意味着在堆中仍然活着的地址被重新组织可用的剩余堆有更多可用的连续内存。 由于超过了堆中每个段的预算,.NET将分配另一个段来完成分配(如果可能的话)。 问题 我的问题归结为每个堆中的内存会发生什么情况,而不是由应用程序 (提交)使用,但仍保留.NET? 什么时候释放回操作系统? 。 我相信这是一个过程可能会消耗大量内存的情况(虚拟大小非常大,但是私有字节很小),但是在检查其堆时大部分是可用空间 。 另外需要注意的是,堆的总大小也可能相当小 ,并且不考虑进程消耗的内存。 没有阻塞的终结器,所有看起来都很健康的进程 – 它可能已经运行了几个星期,然后触发监视器警报(例如)。 尝试进一步澄清问题,如果您阅读了Tess .NET内存pipe理 – 餐厅类比 ,如果表是堆段,那么餐厅是否会丢失表(例如,免费的堆段)? 编辑 删除了工作组和鸡只的混淆参考 添加了对Tess餐厅类比的参考

File.Exists对不存在的文件返回true

我正在一个应用程序保存Path.GetDirectoryName(FilePath)中的文件,其中FilePath = Application.ExecutablePath包含一些有关授权的信息。 如果我从VS运行程序,它的工作正常,但如果我做一个安装程序并安装,然后运行它,程序认为该文件已经存在。 我改变了我的程序显示在一个消息框我的FilePath和是否File.Exists(FilePath)返回true或false 。 所以我看了看那条路,启用了隐藏和系统文件,F5'd几次,什么也没有。 该文件不存在,但File.Exists(FilePath)返回true。 任何想法为什么冷这发生,我怎么能解决它? 我正在使用Windows Vista,Visual Studio 2010,C#,并使用VS的安装项目创build了我的安装程序。 编辑:我的path是: C:\ Program Files(x86)\ Helium \ License.xml 。 这是我的代码的一部分: MessageBox.Show("LicenseFileName: " + LicenseFileName); // LicenseFileName: C:\Program Files (x86)\Helium\License.xml System.Diagnostics.Process.Start(LicenseFileName); // Nothing happens MessageBox.Show("File.Exists(LicenseFileName): " + File.Exists(LicenseFileName)); // File.Exists(LicenseFileName): true 忘了说,我已经安装了应用程序之前,所以文件曾经存在。 我使用控制面板卸载。

在Windows资源pipe理器中显示自定义标题或列

我的应用程序添加一些自定义元数据文件 我想要像这样在Windows资源pipe理器中显示它: 或这个: 有没有办法在.NET中做到这一点?