草庐IT

github项目上传

全部标签

c# - 重构大型项目的 DI

我从事一个大型平台项目,支持大约10种使用我们代码的产品。到目前为止,所有产品都使用了我们平台的全部功能:-从数据库中检索配置数据-远程文件系统访问-安全授权-基本逻辑(我们付费提供的东西)对于新产品,我们被要求在没有平台带来的基础架构的情况下支持较小的功能子集。我们的架构很旧(从2005年左右开始编码)但相当可靠。我们有信心可以在现有类(class)中使用DI来做到这一点,但估计需要5到70周的时间,具体取决于您与谁交谈。有很多文章告诉您如何进行DI,但我找不到任何文章告诉您如何以最有效的方式重构DI?是否有工具可以执行此操作,而不必通过30.000行代码并多次按下CTRL+R来提取

c# - 单个解决方案中的多个 MVC 项目

我在NopCommerce项目中看到有一个解决方案,并且该解决方案中有多个MVC项目。我对此有一些疑问,例如:如何共享一个主布局,或按需使用不同的布局?如何在不同的MVC项目中使用Controller/模型等?我还想要一个主项目和多个子MVC项目。如何在共享组件时做到这一点?有什么想法吗?指针?注意:对区域不感兴趣。 最佳答案 是的。请参阅:asp.netmvcputcontrollersintoaseparateproject我自己完成了这项工作,并且能够在插件式架构中使用Controller。至于模型,它们只是普通类。它们可以出

c# - 上传HTTP进度跟踪

我有我正在编写的WPF应用程序,它可以将文件发布到社交网络之一。上传本身工作正常,但我想提供一些关于我上传进度的指示。我尝试了很多方法来做到这一点:1)HttpWebRequest.GetStream方法:using(varFS=File.Open(localFilePath,FileMode.Open,FileAccess.Read,FileShare.Read)){longlen=FS.Length;HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.Method="POST";request.P

c# - 在 Visual Studio 中移动 C# 项目的中间目录

我目前正在剥离、重构和清理一个中等规模(15个项目)的VisualStudio解决方案。该解决方案包含C++和C#中的项目。我热衷于在输出方面尽可能保持整洁——将编译器从源代码中创建的任何东西分开,因为它有助于颠覆(好吧,我可以告诉它忽略文件,但我仍然觉得它很乱)吓坏了。我想实现的输出如下:SolutionDir/SolutionDir/src/project1/{Codehere}SolutionDir/int/project1/configuration/{.objfilesandothermisccompilerjunkhere}SolutionDir/bin/project1/

c# - 从集合中查找和删除项目

从集合中删除集合但仍将删除的项目保留在单独集合中的最佳方法是什么?我已经编写了一个扩展方法来执行此操作,但我认为必须有更好的方法。这是我的功能:publicstaticListFindAndRemove(thisListlst,Predicatematch){Listret=lst.FindAll(match);lst.RemoveAll(match);returnret;}你会像这样使用它:ListmyList=newList();myList.Add("ABC");myList.Add("DEF");myList.Add("ABC");Listremoved=myList.Find

c# - 添加对 dll 的引用与在 .NET Standard 项目中添加 NuGet 包

我的解决方案中有一个.NETStandard2.0项目,我正在使用IConfiguration接口(interface)。当我写名字时,VS提示我引用Microsoft.Extensions.Configuration.Abstractions.dll。如果我这样做,它会添加到引用节点下。不过,我也可以将其添加为NuGet包。这两种方式似乎都有效。我假设引用VS建议是通过项目中引用的.NETStandardSDK添加的。添加该引用的推荐方法是什么?每种方法的优点和缺点是什么? 最佳答案 直接从手动下载或安装在已知位置的NuGet包引

c# - 当我添加对项目的引用时,Visual Studio/Tools 可以向我显示循环依赖关系图吗?

我正在处理一个包含大量项目的解决方案。我正在尝试将一些peices重构到公共(public)库中。但是,在添加一些项目引用时,出现循环依赖错误。我试图从我的VS解决方案中删除未使用的引用,但循环依赖仍然存在。您是否知道可以帮助我了解循环依赖的任何VS扩展或外部工具。我也有Resharper,但我不知道代码清理是否可以帮助我解决这个问题。 最佳答案 这是一个老问题,但由于没有公认的答案...至少在VS2015Enterprise中,您可以在解决方案资源管理器中右键单击您的解决方案并选择ShowProjectDependencyDiag

c# - 构建一个 web 项目破坏了解决方案中第二个的编译版本

我有一个包含30个项目的大型解决方案,其中2个是Web项目(MVC和WebAPI)以及一堆后台类库项目。我设置了visualstudio以在IIS中托管Web项目。如果我进行全新构建,然后对整个解决方案进行完整构建,那么通过浏览器访问这两个项目都可以正常工作。(它们位于差异文件夹中并托管在iis中的差异“域”中)如果我不做任何代码更改,只需重新构建2个Web项目之一,另一个就会停止工作。需要说明的是,重建WebAPI工程导致MVC工程出错。反之亦然。我得到的错误是说找不到System.Web.Http.Formatter。详细信息说定位的程序集版本与引用版本不同。检查bin文件夹表明情

c# - 从 DLL 重建 Unity 项目?

我丢失了位于硬盘上的Unity项目。幸运的是,我找到了一些与我的项目相关的文件。参见here.现在,我已经使用.NETReflector成功地将Assembly-CSharp.dll转换为等效的C#,但是我找不到重建我的Unity项目的方法...(或者至少是一个很好的一部分)我该怎么做?从逻辑上讲,我现在拥有的文件是我们重新创建项目所需的全部。感谢您的帮助。如果您希望上传文件,请在下方评论。我最初的Unity项目(我工作了几个月)通过触摸、滑动、轻弹或按箭头按钮在菜单之间进行转换。.NET反射器:http://www.red-gate.com/products/dotnet-devel

c# - 使用 MEF 和 VSIX 创建 Visual Studio 项目系统

我希望为VisualStudio创建一个自定义项目系统。但是网上的一些资料让我有些困惑。它们都指的是VSPackage,据我所知,这些与VSIX完全不同。我现有的扩展功能是通过VSIX提供的。是否无法通过VSIX提供新的项目类型?我还查看了他们的示例代码,它是一些可怕的COM东西。对于项目,是否没有新的Shiny的MEF东西,比如用语法高亮和东西扩展编辑器? 最佳答案 没有用于实现对新项目系统的支持的MEF支持/API。您可以通过两种方式实现支持。直接实现VisualStudioAPI。这个选项非常复杂,但并不限制您使用特定的构建系