草庐IT

project-management

全部标签

c# - 以 "Managed"结尾的类名是什么意思 (C# .NET)?

我是C#的新手,所以请多多包涵。我了解托管代码和非托管代码之间的基本区别。但我仍然有点困惑何时使用某些方法。例如,“托管”一词在某些类名结尾中是什么意思。这是否意味着它们是受管理的,而其他的则不是?例如,Aes和AesManaged或者SHA512和SHA512Managed有什么区别?我知道您不能从托管类派生,但我只知道这些。还有什么时候应该使用“托管”类,例如什么时候选择Aes而不是AesManaged?(我已经在维基百科上阅读了托管代码的基础知识(here)并且还找到了关于托管代码基础知识的很好的解释(here)感谢您的宝贵时间和回答。 最佳答案

c# - Visual Studio 2017 : "Object reference not set to an instance of an object" while loading the project

我在VS解决方案中有一个项目可以在VS2015中正确加载,但它似乎在VS2017(RC2)中已损坏。在解决方案资源管理器中,它显示其“加载失败”,当我尝试重新加载它时,我收到一个错误弹出窗口,消息为“对象引用未设置为对象的实例”。我认为这可能是因为VS2017以某种方式更改了.csproj文件以满足他们的需要,但是在将它与VS2015解决方案中的版本进行比较后我发现它们并没有什么不同。有人遇到过这样的事情吗?以及如何修复它?谢谢。 最佳答案 对于VisualStudio2017的我来说,这些建议都没有奏效。有效的方法是关闭所有Vis

c# - .net 中的转换 : Native Utf-8 <-> Managed String

我创建了这两种方法来将nativeutf-8字符串(char*)转换为托管字符串,反之亦然。以下代码完成这项工作:publicIntPtrNativeUtf8FromString(stringmanagedString){byte[]buffer=Encoding.UTF8.GetBytes(managedString);//notnullterminatedArray.Resize(refbuffer,buffer.Length+1);buffer[buffer.Length-1]=0;//terminating0IntPtrnativeUtf8=Marshal.AllocHGlob

c# - VS2013 : Memory profiler doesn't show anything on a specific project

我想使用visualstudio2013ultimate的内存分析器来分析WPF应用程序。但似乎有一个问题:运行探查器后没有可用/显示的数据。我使用Windows8.1x64我收到这个错误:DA0002:ItappearsthatthefilewascollectedwithoutproperlysettingtheenvironmentvariableswithVSPerfCLREnv.cmd.Symbolsformanagedbinariesmaynotresolve.奇怪的是:CPU分析适用于此项目,而内存分析似乎适用于其他项目(我创建了一个带有空窗口的新WPF项目并在那里测试了

c# - 统一: Change default lifetime manager for implicit registrations and/or disable them

Unity容器将自动解析它可以自行识别的任何类型,无需手动注册。这在某些方面很好,但我遇到的问题是它使用TransientLifetimeManager来解决这种类型的问题,而我几乎总是想要一个ContainerControlledLifetimeManager。当然,我仍然可以手动将我的类型注册为单例,但如果我忘记了,应用程序将成功启动,而不是在启动时出现未处理的异常,并且一切似乎都正常工作。但最终会出现错误,可能非常微妙,难以诊断,因为存在一个类型的多个实例,这意味着是一个单例。所以我的问题是:有没有一种方法可以指定不同的默认生命周期管理器或完全禁用默认的自动解析行为并将容器限制为

c# - 从 C# 运行时 SQL 查询超时,在 SQL Server Management Studio 中运行速度很快

我有一个使用下面列出的代码执行SQL查询的C#程序。直到前几天,我一直在使用这段代码一段时间,没有任何问题。我将一个查询字符串传递给SQL,其中包含一个字符串列表,这些字符串是股票标识符。前几天我跑了一下,查询超时了,让我跑一个多小时。过去几天我一直在尝试调试它。在我最初的查询中,大约有900个标识符。我已经尝试改变我能想到的一切,但我得到了无法解释的结果。例如:该查询适用于一个股票列表,但不适用于另一个在字符串数量和总长度方面具有相同长度的列表它适用于一个列表,但不适用于相反顺序的同一个列表对于一个列表,如果恰好有900个标识符,它就可以工作,但如果有899或901个,它就不会工作,

c# - 在 Debug 中使用 Project Reference,在 Release 中使用 Nuget

我想同时在我的项目(A)和依赖的Nuget包(B)中工作,而不需要在每次更改时都发布nuget包。是否可以在构建调试时从解决方案(A)中引用Nuget项目(B)。在构建Release时使用Source中的Nuget包? 最佳答案 一种方法是手动编辑csproj文件。如果您当前已经引用了NuGet包,那么您将在csproj文件中拥有这样的部分:......\packages\log4net.2.0.8\lib\net45-full\log4net.dllTrue....在这个例子中,使用了log4net。对于您的NuGet包,公钥to

c# - 错误 : A project with an out put type of class library

我试图找出.net并得到这段代码,当我尝试从VS2008运行时它给我这个错误AprojectwithanOutputTypeofClassLibrarycannotbestarteddirectly.Inordertodebugthisproject,addanexecutableprojecttothissolutionwhichreferencestothelibraryproject.Settheexecutableprojectasthestartupproject我正在学习C#,所以不知道该做什么 最佳答案 您不能运行库。

c# - "new"inside concrete type projection 只被调用一次

我有简单的Linq2Sql查询:varresult=fromtinMyContext.MyItemsselectnewMyViewModelClass(){FirstProperty=t,SecondProperty=newSomeLinq2SqlEntity()}问题是newSomeLinq2SqlEntity()似乎只对该序列执行一次,因此查询结果中MyViewModelClass的所有实例共享链接到一个对象。更新:这是我快速检查它的方法:result[0].SecondProperty.MyField=10;使用调试器,我可以检查MyField在所有情况下都设置为10。当我用fo

c# - 元素 <Import> 中的 ""属性的值 "Project"无效。 vs2012

尝试在visualstudio2012中加载一些项目时出现以下错误:G:\path\project.csproj:error:Thevalue""ofthe"Project"attributeinelementisinvalid.Parameter"path"cannothavezerolength.我正在尝试在svn结帐后重新启动机器。这些项目可以正确加载到其他机器上。有人可以帮我解决这个问题吗?Google没有给我答案,我希望它会。编辑这是csproj文件的相关部分。 最佳答案 你写的是从新开始的。我怀疑StyleCop没有安装