草庐IT

引用计数

全部标签

c# - 如何复制一个实际上是结构的对象(不是它的引用)?

我有一个值(结构实例)被转换为object以进行通用处理。我需要复制该值。我不能明确地这样做,因为我只有它的Type并且不知道它在编译时是什么。默认情况下,我会得到一个引用副本:varcopy=objectOfMyStruct;。我考虑过通过MemberwiseClone()进行显式浅拷贝,但我不能这样做,因为它是protected方法,我不能修改MyStruct。Convert.ChangeType(objectOfMyStruct,typeOfMyStruct)没有帮助,因为转换(实际上没有转换)发生在内部并再次返回Object。我该怎么做?编辑:我需要制作一份副本以保留原始值并反

c# - 无法添加对 System.Web.Hosting 的引用

我正在将Web应用程序从VB迁移到C#。我还升级到VS2013中的更新3。Hosting类有变化吗?我在使用Hosting.HostingEnvironment.MapPath时遇到错误,我什至无法添加对System.Web.Hosting的引用,因为找不到它。当我尝试在添加引用时搜索程序集时,使用整个命名空间,即System.Web.Hosting,它没有返回任何结果。我在类中有using语句,它没有变灰,这意味着它正在用于某些事情,但代码不喜欢Hosting.HostingEnvironment中的Hosting>因为它是耀眼的红色。我什至没有在智能感知中获得Hosting类,该项

c# - 在 .NET Core 1.1 csproj 中引用 .NET 4.5 dll?

我正在运行VS2017RC4。我在我的.NETCore应用程序中添加了一个对我的.NET4.5dll的引用,它编译了。当在运行时调用引用dll的行时,我得到:System.IO.FileNotFoundException:'Couldnotloadfileorassembly'System,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'.Thesystemcannotfindthefilespecified.'此图显示要使用4.5引用,我需要使用netstandard1.1。https://msdnsha

c# - 无法添加对 ´ 的引用。程序集必须具有 dll 或 exe 扩展名才能被引用

我有普通的c#控制台应用程序(.NET4.6),我想在其中引用.NETCore类库:{"version":"1.0.0-*","dependencies":{"NETStandard.Library":"1.6.0","Newtonsoft.Json":"9.0.1"},"frameworks":{"netstandard1.4":{"imports":"dnxcore50"}}}我得到以下异常: 最佳答案 简单的解决方案:我的.NET控制台应用程序使用.NET4.6,并且应该引用使用.NETPlatformStandard1.4的

c# - 在 XAML 中找不到程序集引用,但在 xaml.cs 类中引用时代码会编译

我在添加dll引用时遇到了一个奇怪的问题。我有一个WPF应用程序并正在尝试使用WPFMDI库:http://wpfmdi.codeplex.com/如说明中所述(非常模糊),我在VS2012中右键单击引用,单击Addreference..,点击Browse..并添加了我下载的dll。接下来,我在窗口的XAML中添加了以下行:xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"如说明中所述。但是,在尝试添加时在XAML中,显示以下错误消息:Thetype'mdi:MdiContainer'wasnotfound.Verifythatyoua

c# - 如何从 IQueryable 获取计数

我正在我的GridView中实现分页。来自this文章,我需要两种方法:publicIQueryableBindEmployees(intstartRowIndex,intmaximumRows){EmployeeInfoDataContextdbEmp=newEmployeeInfoDataContext();varquery=fromempindbEmp.EmployeesjoindeptindbEmp.Departmentsonemp.DeptIDequalsdept.DeptIDselectnew{EmpID=emp.EmpID,EmpName=emp.EmpName,Age=

c# - 为什么 LINQ 查询会在我尝试获取某种类型的计数时抛出异常

publicreadonlyIEnumerablePeriodToSelect=newstring[]{"MONTH"};vardataCollection=frompinsomedatafromhinp.somemoredatewhereh.Year>(DateTime.Now.Year-2)wherePeriodToSelect.Contains(h.TimePeriod)selectnew{p.Currency,h.Year.Month,h.Value};有人能告诉我为什么在下面的代码行会抛出异常吗?intcount=dataCollection.Count();这是异常(exc

c# - 将服务引用添加到可移植类库

我正在制作一个可移植的C#类库,我正在尝试向我的项目添加一个Web服务引用。使用VS2013,我右键单击该解决方案,在我的其他项目中将有一个选项“添加服务引用”。但在我的移动图书馆项目中,该选项不存在。将服务引用添加到移动图书馆是否需要做一些特别的事情,或者这是不可能的?查看屏幕截图,甚至没有向我的项目添加服务引用的选项。 最佳答案 我遇到了同样的问题。在VisualStudio中创建类型为“BlankApp(Xamarin.FormsShared)”的新项目后,当我右键单击PCL时没有“添加服务引用”链接。我所做的是我只是创建了另

c# - package.config 更新不更新引用

我有多个项目引用同一个NuGet包。当我获得最新代码时,我意识到其中一个项目更新了package.config并且还更新了对该包提供的Dll的引用。现在,我还更新了其他项目的package.config,希望一旦我对该NuGet引擎进行升级,就会看到它并为我获取新的DLL。好吧,它没有发生。之后我尝试了以下操作,但没有一个起作用:删除旧版本的DLL,然后做Restorepackage删除包文件夹,重新启动我的VS2015并恢复包此外,有趣的是,当我转到管理Nuget包并查看我需要新DLL的包时,它显示它已经是新版本,我不需要升级它。有什么方法可以让NuGet引擎升级这些包?

c# - 如何用本地构建临时替换 NuGet 引用

我正在使用VisualStudio2015开发一个C#项目,并使用NuGet进行包管理。作为引用,我想在迭代修复时暂时使用本地构建,而不是发布版本。实现此目标的最佳方法是什么?如果我使用的是外部SVN,我会将本地构建的新副本放入外部引用的文件夹中,然后进行设置。其他包管理软件(如CocoaPods)允许我指向本地目录来解析引用。使用NuGet,看起来没有任何机制。当我尝试将我的新DLL放到packages文件夹中的包引用上时,我在VisualStudio中出现不一致的行为。我的构建将因数百个错误而失败,其中大部分很快就会从错误列表中消失。我最终留下了一条警告,告诉我它无法解析对我要替换