草庐IT

not-exists

全部标签

c# - 如何等到 File.Exists?

我有一个应用程序,用于监听选定文件夹中的*.log文件。我使用了FileSystemWatcher。但是有个问题。负责制作该文件的其他应用程序执行以下步骤:制作*.gz文件将其解压为txt文件(一些随机文件名)将*.txt名称更改为带有*.log扩展名的正确名称。而且我无法改变这种行为。所以我为*.gz和*.txt文件制作了2个FileSystemWatcher。为什么?因为这个app有时不会解压gz文件,有时也不会把txt文件重命名为最终的*.log文件。FileSystemWatcher2捕获txt文件,然后(大多数情况下它被重命名为在接下来的1000ms登录)我需要等待一段时间来

c# - 异步任务<IEnumerable<T>> 抛出 "is not an iterator interface type"错误

仅当我使用async时,下面的代码才会抛出isnotaniteratorinterfacetypeawait并包装IEnumerable与任务。如果我删除asyncawait,它将与IEnumerable>一起使用.privateasyncTask>>GetTableDataAsync(CloudTablecloudTable,TableQuerytableQuery)whereT:ITableEntity,new(){TableContinuationTokencontineousToken=null;do{varcurrentSegment=awaitGetAzureTableDa

c# - MSBuild 未处理的异常 : The FileName property should not be a directory unless UseShellExecute is set

版本dotnet核心SDK:2.1.403docker:18.09.7Linux内核:5.0.0-27Ubuntu:18.04.3问题我正在docker中运行一个ASP.NETCore项目。当我docker-composeup时,我得到以下信息:UnhandledException:Microsoft.Build.BackEnd.NodeFailedToLaunchException:TheFileNamepropertyshouldnotbeadirectoryunlessUseShellExecuteisset.--->System.ComponentModel.Win32Exce

c# - Visual Studio 中的 "Add existing item": is it possible to make "Add as link" default?

正如this中指出的那样因此,VisualStudio中的Add>Existingitem对话框默认显示Add按钮(意味着所选项目将被物理复制到新位置),而理想的操作通常(总是?)添加为链接。是否可以配置VisualStudio,以便在打开添加>现有项目对话框时默认选择添加为链接?我已经彻底搜索了VisualStudio中的Options对话框并检查了MSDN文档以找到对此的答案,但到目前为止无济于事。ProjectLinker当两个新项目要共享同一代码库时,自动链接是一个不错的选择。但是,当将大量文件从现有项目链接到新项目时,似乎仅限于Add>Existingitem方法,而且这项工

c# - iTextSharp 异常 : PDF header signature not found

我正在使用iTextSharp阅读PDF文档的内容:PdfReaderreader=newPdfReader(pdfPath);using(StringWriteroutput=newStringWriter()){for(inti=1;i99%它工作正常。然而,有一个PDF文件有时会抛出这个异常:PDFheadersignaturenotfound.StackTrace:atiTextSharp.text.pdf.PRTokeniser.CheckPdfHeader()atiTextSharp.text.pdf.PdfReader.ReadPdf()atiTextSharp.text

C# - "destructors are not inherited"实际上是什么意思?

C#LanguageSpecification3.0的第10.13节,析构函数声明如下:Destructorsarenotinherited.Thus,aclasshasnodestructorsotherthantheonewhichmaybedeclaredinthatclass.C#ProgrammingGuide的析构函数部分包含一个示例,演示如何调用继承层次结构中的析构函数,包括以下语句:...thedestructorsforthe...classesarecalledautomatically,andinorder,fromthemost-derivedtotheleas

C# 等待与延续 : not quite the same?

看完EricLippert’sanswer我的印象是await和call/cc几乎是同一枚硬币的两面,最多只是句法上的差异。然而,在尝试实际实现时call/cc在C#5中,我遇到了一个问题:要么我误解了call/cc(这很有可能),要么await只是让人想起call/cc。考虑这样的伪代码:functionmain:foo();print"Done"functionfoo:varresult=call/cc(bar);print"Result:"+result;functionbar(continuation):print"Before"continuation("stuff");pr

c# - 我可以将 C# 函数标记为 "this function does not enumerate the IEnumerable parameter"吗?

同一可枚举的多次枚举对我们来说一直是一个性能问题,因此我们尝试在代码中消除这些警告。但是我们有一个通用的扩展函数来抛出空参数异常,它会生成很多这样的警告。它的签名看起来像这样:publicstaticvoidVerifyArgumentIsNotNull(thisTvalue,stringvalueName)whereT:class它所做的只是检查null并抛出一个格式良好且本地化(对于当时正在使用的任何人类语言)的异常。当此函数用于IEnumerable参数时,它会使代码分析警告IEnumerable可能的多次迭代,因为分析器不知道该函数的作用。我想在这个函数上加上一些标签,上面写着

c# - 使用 File.Exists 检查文件是否存在于 64 位系统上

我的操作系统是64位的,文件夹C:\Windows\SysWOW64中有一个文件111.txt,但在c:\windows\system32中没有该文件但是下面的代码返回truefile=@"C:\Windows\System32\111.txt";boolbExist=System.IO.File.Exists(file);不知道为什么?以及如何检查system32下是否有文件111.txt而不是SysWoW64? 最佳答案 由于许多应用程序已将System32目录名称硬编码到路径中,MS将64位系统文件放在那里而不是“System

C# 设计 : Why is new/override required on abstract methods but not on virtual methods?

为什么抽象方法需要new/override而虚方法不​​需要?示例1:abstractclassShapesClass{abstractpublicintArea();//abstract!}classSquare:ShapesClass{intx,y;publicintArea()//Error:missing'override'or'new'{returnx*y;}}编译器会显示这个错误:要使当前成员覆盖该实现,请添加override关键字。否则添加新关键字示例2:classShapesClass{virtualpublicintArea(){return0;}//itisvirt