草庐IT

问答系统

全部标签

c# - 项目系统在尝试加载项目时遇到错误

在VisualStudio2017v15.7.1中,我在尝试加载我的项目之一时收到以下错误窗口:当我转到指定的路径时,在测试文件中我发现了一个非常长的堆栈跟踪,我无法复制所有它,因为它超出了允许的字符数。=====================5/31/20183:40:57PMLimitedFunctionalitySystem.AggregateException:Projectsystemdataflow'ProjectBuildSnapshotServiceOuter320459'closedbecauseofanexception:System.AggregateExcep

c# - 为什么我会看到多个系统托盘图标?

我在我的应用程序中添加了一个通知图标,而且我经常在我的系统托盘中看到多达3个通知图标副本。这是有原因的吗?有没有办法阻止它发生。通常这种情况在我的应用程序关闭后仍然存在,直到我移至系统托盘,系统托盘展开和折叠,然后它们全部消失。 最佳答案 这是在您调试应用程序时吗?如果是这样,这是因为从系统托盘中删除图标的消息仅在应用程序正常退出时发送,如果它因异常终止或因为您从VisualStudio终止它,该图标将一直保留,直到您将鼠标悬停在它上面。 关于c#-为什么我会看到多个系统托盘图标?,我们

c# - 文件系统观察器和大文件

varfsw=newFileSystemWatcher(sPath,"*.PPF");fsw.NotifyFilter=NotifyFilters.FileName;fsw.IncludeSubdirectories=true;fsw.Created+=FswCreated;fsw.EnableRaisingEvents=true;staticvoidFswCreated(objectsender,FileSystemEventArgse){stringsFile=e.FullPath;string[]arrLines=File.ReadAllLines(sFile);}对于大文件这会

c# - 使用 iTextSharp 在系统中使用字体

我想用iTextSharp写一些文本。我正在使用这种方法:varfont=BaseFont.CreateFont(BaseFont.TIMES_BOLD,BaseFont.WINANSI,BaseFont.EMBEDDED);我的问题是:iTextSharp是否支持系统字体目录中的所有字体?假设用户在字体选择器对话框中选择了一种名为“mycoolfont”的字体。我可以像这样创建新的iTextSharp字体吗?varfont=BaseFont.CreateFont("mycoolfont",BaseFont.WINANSI,BaseFont.EMBEDDED);overContent.

c# - .net 中的垃圾收集器是系统范围的还是应用程序范围的?

在与同事的讨论中,我怀疑.net中的垃圾收集器是在系统范围内工作还是在应用程序范围内工作。意味着如果每个应用程序都有自己的GC那么它会影响系统性能吗?我对此有点困惑。 最佳答案 每个进程都有自己的托管堆,将单独收集。没有系统范围的堆,所以不可能有系统范围的GC。(如果您在同一个进程中运行多个CLR,它们每个也会有自己的GC。不过这种情况非常罕见。) 关于c#-.net中的垃圾收集器是系统范围的还是应用程序范围的?,我们在StackOverflow上找到一个类似的问题:

c# - 系统托盘中的 .Net 控制台应用程序

有没有办法在最小化时将控制台应用程序放在系统托盘中? 最佳答案 是的,你可以做到这一点。创建Windows窗体应用程序并添加NotifyIconcomponent.然后使用以下方法(foundonMSDN)分配并显示一个Console[DllImport("kernel32.dll")]publicstaticexternBooleanAllocConsole();[DllImport("kernel32.dll")]publicstaticexternBooleanFreeConsole();[DllImport("kernel3

c# - .mdf"failed with the operating system error 2(系统找不到指定的文件。)

protectedvoidregister_Click(objectsender,EventArgse){AddUser(userName.Text,password.Text,confirm.Text);}voidAddUser(stringname,stringpass,stringconfirm){Useru=newUser(name,pass,confirm);if(u.Valid){using(vardb=newSiteContext()){db.User.Add(u);db.SaveChanges();}}}}publicclassUser{publicintUserId{

c# - 在 x86 系统上编译 C# .NET x64 二进制文件

我有一个C#项目,其中包含对ScintillaNET的引用。不幸的是,ScintillaNET喜欢检测机器的架构并根据运行的架构加载nativeDLL。这意味着我的项目必须预编译成x86和x64版本(由于上述检测,我无法使用任何CPU)。问题是我的构建服务器是x86-only。有没有一种方法可以在x86机器上以x64模式编译.NET程序集?据我所知,切换只是强制计算机加载所需体系结构的程序集,并且在编译时实际上不会输出任何体系结构相关的代码,但是,在构建服务器上的Mono2.10.6下编译时我得到如下错误:“错误CS0016:无法写入文件‘ScintillaNet’,原因:AMD64”

c# - 带有插件式系统的 EF 多上下文。如何在运行时应用迁移?

我有一个Web应用程序,它应该作为一系列插件组合到核心基础架构中。一个插件是一个编译好的CLRdll+一些内容文件,这些文件将被放置在某个位置。我正在使用Autofac来扫描和注册程序集中的类型,并使用一些奇特的路由从那里为Controller和Assets提供服务。但是,由于每个插件程序集都可以包含一个DbContext(按照惯例,每个插件程序集都将使用自己的数据库),所以我不太清楚在那里该做什么。现在我发现了很多关于如何使用多个上下文的内容,但这都需要知道这些内容在开发时。我的应用程序直到运行时才知道将使用什么上下文。理想情况下,我正在寻找的是某种方式来做ApplyMigratio

c# - ASP.NET Core Windows 服务中的 Serilog 无法将文件写入本地系统

我正在将ASP.NETCoreWeb服务器作为Windows服务运行,并使用Serilog登录到%PROGRAMDATA%中的文件。当我将服务作为本地系统运行时,没有任何记录。我在Windows10上使用.NetCore2.2。我通过在我的服务中触发一个错误来测试,该错误在错误级别写入日志事件。我已经尝试以我自己的管理帐户运行该服务并且日志记录工作正常;该问题仅在作为本地系统运行时出现。我有其他使用.NetFramework作为本地系统运行的Windows服务,使用Serilog登录到%PROGRAMDATA%没有问题,但这是我第一次在.NetCore上尝试它。我可以使用Directo