草庐IT

add_file_log

全部标签

c# - 如何检查 System.IO.File.Delete 是否成功删除文件

使用system.io.file类删除文件后:System.IO.File.Delete(openedPdfs.path);如果文件被成功删除,我需要运行一些代码。只要该方法不返回任何值,我就会在delete方法之后检查文件是否存在。如果它仍然存在,我认为操作失败。问题是,删除方法工作正常,但要删除文件需要几秒钟。Exist函数返回true,因为当时它正在检查文件是否存在。我如何确定System.IO.File.Delete(openedPdfs.path);是否成功完成?代码:FileInfofile=newFileInfo(openedPdfs.path);System.IO.Fi

c# - 新的 .csproj 格式 - 如何将整个目录指定为子目录的 "linked file"?

有了新的.csproj格式(以及旧格式),可以将文件添加为项目文件夹外部的链接:也可以使用glob模式来包含多个文件:但是如何将两者结合起来呢?我尝试了什么前两个只创建一个链接文件(名称分别为*.cs和*)。第三个简单地出错了。有没有办法将globbing与链接文件结合到目标项目中的特定位置?如果不是,我如何在不知道有多少文件或它们的名称是什么的情况下链接目录中的所有文件? 最佳答案 虽然以前在使用glob扩展时使用%(RecursiveDir)元数据是可能的(Link="Resources\%(RecursiveDir)%(Fil

c# - 如何使用 log4net 使用 Threadpool 线程记录正确的上下文?

我试图找到一种方法来从一堆线程中记录有用的上下文。问题是很多代码是在通过线程池线程到达的事件上处理的(据我所知),因此它们的名称与任何上下文无关。这个问题可以用下面的代码来演示:classProgram{privatestaticreadonlylog4net.ILoglog=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);staticvoidMain(string[]args){newThread(TestThis).Start("ThreadA")

c# - .NET 2.0 : File. AppendAllText(...) - 线程安全实现

作为无聊的好奇心练习,考虑以下简单的日志记录类:internalstaticclassLogging{privatestaticobjectthreadlock;staticLogging(){threadlock=newobject();}internalstaticvoidWriteLog(stringmessage){try{lock(threadlock){File.AppendAllText(@"C:\logfile.log",message);}}catch{...handleloggingerrors...}}}File.AppendAllText(...)周围是否需要锁

C# WiX CustomAction session .Log。我在哪里可以找到日志?

我是WiX安装程序的新手。我正在使用Session.Log为进程记录一些有用的数据。session.Log("BeginregistertheVddsinterface.");但我不确定在哪里可以找到日志。是否有记录的默认路径?或者我是否需要指定我需要在安装程序.wxs文件中提供的路径? 最佳答案 您需要使用msiexec.exe从命令行运行安装程序,然后包含L命令行选项以指定要保存日志的位置。例如:msiexec/iapp.msi/l*vthelog.txt有关msiexec参数的更多信息,请参阅Command-LineOptio

c# - Children.Add(item) 值不在预期范围内

我正在开发Silverlight3应用程序,当我尝试将对象添加到Canvas时遇到这个非常奇怪的错误。我的代码如下:for(inti=0;i我第一次使用它时,它按预期工作。但是,当我在单击使用此代码创建的Person对象后点击x_LayoutRoot.Children.Add(child)时,我收到一个ArgumentException,告诉我“值不在预期范围内。”但是,当我在将child添加到x_LayoutRoot.Children之前添加以下代码时,问题就消失了。child.SetValue(Canvas.NameProperty,"child"+objCount++);为什么会

C#:Dictionary<K,V> 如何在没有 Add(KeyValuePair<K,V>) 的情况下实现 ICollection<KeyValuePair<K,V>>?

查看System.Collections.Generic.Dictionary,它清楚地实现了ICollection>,但没有所需的“voidAdd(KeyValuePairitem)”功能。这也可以在尝试初始化Dictionary时看到像这样:privateconstDictionaryPropertyIDs=newDictionary(){newKeyValuePair("muh",2)};失败了Nooverloadformethod'Add'takes'1'arguments为什么会这样? 最佳答案 预期的API是通过两个参数

c# - log4Net XmlHierarchyConfigurator

我在我的代码中使用Log4Net,当我的进程运行时它开始抛出这个奇怪的异常。这是我的Log4NetAppconfig,我仍然不确定这里缺少什么它像这样抛出log4net:ErrorXmlHierarchyConfigurator:cannotfindproperty[maxSizeRollBackups]tosetobjecton[log4net.Appender.FileAppender].配置: 最佳答案 将log4net.Appender.FileAppender更改为log4net.Appender.RollingFileA

c# - Windows 窗体 : add new line to label if text is too long

我正在使用C#。有时,从Web服务返回的文本(我在标签中显示)太长,会在表单边缘被截断。如果表单不适合标签,是否有简单的方法向标签添加换行符?谢谢 最佳答案 如果您将标签设置为autosize,它会随着您放入其中的任何文本自动增长。为了使其以特定宽度自动换行,您可以设置MaximumSize属性。myLabel.MaximumSize=newSize(100,0);myLabel.AutoSize=true;经过测试并有效。如果您希望始终能够看到数据,可以将Label容器的AutoScroll属性设置为true。

c# - 电子邮件删除附件后,错误 "The process cannot access the file because it is being used by another process."

我正在做一个电子邮件表单。电子邮件有附件,并在附加文件后发送电子邮件。接下来需要从服务器删除文件。当我试图获取文件时,它给了我主题错误。我什至在删除文件之前调用了GC.Collect(),但错误仍然存​​在。我删除文件的代码是:privatevoidDeleteFiles(DataTabledt){GC.Collect();String[]sAttachments=newString[dt.Rows.Count];try{sAttachments=newString[dt.Rows.Count];for(Int32J=0;J要将文件附加到电子邮件,我的代码是:oMess.Subject