Questions tagged «visual-studio»

Microsoft Visual Studio是.NET系列语言的IDE。

2
单个Visual Studio解决方案中的多个应用程序
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我正在一家公司工作,该公司希望将所有.Net应用程序(Web应用程序,Windows应用程序和控制台应用程序)整合到一个Visual Studio解决方案中。 我正在从开发人员那里寻找经验,他们要么以这种方式构造自己的应用程序,要么在一家从事此工作的公司工作。这是一个好主意吗? 将您的所有应用程序放在一个解决方案中,而不是为每个应用程序使用单独的解决方案,优点/缺点是什么? 带有20多个项目的解决方案的Visual Studio有多快? 具有源代码控制的并发开发的解决方案文件的稳定性如何?

1
.NET解决方案的目录结构
我们最近有一个承包商访问,对我们的项目结构方法提出质疑。请注意,我专门指的是目录结构。他建议使用Microsoft指南。我以为我可以在Google“ Microsoft指南.NET项目目录结构”中找到有用的东西,但是事实证明并非如此。就目前而言,我们做这样的事情: [Company.System.Feature] |-doc |Sandcastle project |-lib |Nuget packages |-src |-Project1 e.g. web |-Project2 e.g. business logic |-UnittestProject1 |-Specs doc文件夹包含一个Sandcastle解决方案,如此处所述:https : //www.codeproject.com/Articles/15176/Sandcastle-Help-File-Builder(请参阅:绝对路径和相对路径)。因此,doc文件夹包含一个Help文件夹,其中包含生成的帮助文件。lib文件夹包含所有Nuget软件包。 是否有任何Microsoft准则,建议如何构建解决方案?我在这里看过:https : //stackoverflow.com/questions/789389/project-structure-for-c-sharp-development-effort/789554? noredirect =1# comment86756309_789554等。我读过的大多数文章和问题似乎都是在2007-2009年创建的。我相信Nuget是在2010年推出的。是否有Microsoft准则?我读到一些叫做Tree Surgeon的东西,但是似乎不再存在了:https : //archive.codeplex.com/? p =treesurgeon。 我正在使用TFS;巡航控制和DDD可以发挥任何作用。
16 c#  visual-studio 

7
微软为什么要为其开发工具收取一笔巨款?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 微软对大多数版本的Visual Studio收取数千美元的费用。与Apple和Google这样的公司以及GNU和Eclipse这样的免费提供免费开发人员工具的组织进行比较,这让我想知道差异在哪里。 苹果和谷歌免费提供工具的背后原因是,使开发人员更容易为该平台进行开发,从而提高了单位销量。Windows是否被视为无处不在以至于它不需要额外的升级,而可以被Microsoft用来为开发它的工具赚钱呢?仅仅是因为他们可以收取尽可能多的费用,而有些人愿意支付吗? 我也很好奇,如果这些工具的高昂价格限制了为Windows开发的小型软件商店的数量,或者现有的商店使用的是免费的(残缺的)版本,还是其他更便宜的工具。

4
将Angular应用放在ASP.NET Web API解决方案中的何处?
我正在启动一个未开发的应用程序,并且我想使用ASP.NET(4.6)和Angular2。对于后端,我已经在Visual Studio中创建了一个项目,现在我想知道将Angular应用程序放在哪里。我真的想在前端使用npm和node-tools,但最终它将托管在同一个Azure App Service实例中,Angular应用程序位于或类似domain.com/的API下domain.com/api/。 如何在Visual Studio中分离应用程序?Angular应用程序应该属于自己的项目吗?我应该在与API相同的项目中使用Angular应用程序吗?即使我不想为此使用nuget和其他VS工具?(对于前端,VS或多或少是美化的代码编辑器)。对于这种组合,我还没有找到任何最佳做法。

4
当限于小屏幕空间时,如何在Visual Studio中最高效?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我是一名学生,我在课堂上随身携带的小型(12.5“,1366x768)笔记本电脑屏幕上进行大量代码编写。大多数编程环境的设计理念是有人可用大屏幕,因为大多数实际上,程序员确实可以使用大屏幕,但是大屏幕很难整天上课,而且我以前的笔记本电脑(15英寸,1920x1200)经常因为沉重的工作而留在宿舍里。 此时,我几乎已经锁定Visual Studio。我曾经使用过的程序无法像我使用的那种代码那样高效(当然,在安装了Whole Tomato的Visual Assist和Jared Par的VsVim之后:)) (我已经看到了其他有关小屏幕的问题,但是它们几乎都与“离开Visual Studio”一起使用-考虑到我一直在进行的某些开发工作,这很难。

2
Microsoft是否不鼓励在C#中使用'var'?(VS2017)
我正在看即将到来的Visual Studio 2017。 在标题为“ 提高生产力 ”的部分下,有一张Visual Studio图像,用于将所有出现的var替换为显式类型。 该代码显然有一些问题,Visual Studio已将其识别为“需要修复”。 我想仔细检查一下我对C#中var用法的理解,因此我读了Eric Lippert在2011年发表的一篇文章,文章名称为隐式类型的使用和滥用。 埃里克(Eric)说: 必要时使用var;当您使用匿名类型时。 当声明的类型对初始化器来说很明显时,请使用var,尤其是在创建对象时。这消除了冗余。 如果代码强调变量的语义“业务目的”并轻视变量存储的“机械”细节,请考虑使用var。 如果需要这样做,则必须使用显式类型,以便正确理解和维护代码。 无论是否使用“ var”,都使用描述性变量名称。变量名称应代表变量的语义,而不是变量存储的详细信息;“ decimalRate”不好;“ interestRate”很好。 我认为代码中的大多数var用法都可以。我认为不要将var用于读取的位... var tweetReady = workouts [ ... ] ...因为它不是100%立即是什么类型,但是即使那样我还是很快就知道它是boolean。 这部分的var用法... var listOfTweets = new List<string>(); ...在我看来完全像var的用法一样,因为我认为执行以下操作是多余的: List<string> listOfTweets = new List<string>(); 尽管根据Eric所说的,变量应该可能是tweets而不是listOfTweets。 更改所有var用途的原因是什么?我缺少此代码有什么问题吗?

6
如果愿意,是否应该允许开发人员使用VSS?
我向公司介绍了Mercurial。我喜欢它,但这是我的第一个版本控制经验。我将其与NetBeans PHP一起用于Web开发。 另一个从事公司内部应用程序开发的开发人员喜欢使用Visual Source Safe,并且不想切换。他在Visual Studio环境中工作。 除此以外,所有其他开发商都购买了Mercurial。不过,在大多数情况下,我们所有人都非常独立地工作。 我正在努力朝着正确的方向发展这个部门,我已经为每个人在Kiln上建立了一个帐户,我希望也能使每个使用Fogbugz的人都走上一条路(因为目前没有维护任何错误数据库。)从未使用过VSS,但我听说过非常糟糕的事情。 如果他愿意,只允许他继续使用VSS会更好,还是让他加入Mercurial符合最大利益?

8
为什么我的IDE不进行后台编译/构建?
今天,我在相当复杂的计算机上进行开发,它具有多个内核,SSD驱动器以及其他功能。尽管如此,大多数时候我在对计算机进行编程时总是无所事事。当我最多需要编译和运行/部署一个稍微复杂的项目时,它仍然需要花费几秒钟的时间。为什么?现在我们越来越生活在“即时时代”中,为什么我不能在Visual Studio中按F5并立即启动/部署应用程序? 几秒钟听起来可能还不错,但仍然是认知上的磨擦和时间的累加,坦率地说,这使编程变得不那么有趣了。那么,如何立即编译呢? 好吧,人们倾向于在不同的程序集中编辑文件,如果Visual Studio / IDE不断进行编译/构建我可能适当修改的所有内容,该怎么办。如果他们想真正进步,可以按班级编译。编译可能无法正常工作,但随后它可能会默默地不执行任何操作(将错误消息添加到错误窗口除外)。 当然,今天的计算机可以为这个任务指定一个或两个核心,并且如果有人发现它很烦人,可以选择禁用它。我知道可能存在上千个技术问题,并且需要解决一些奇特的影子复制,以使其无缝和实用,但这肯定会使编程更加无缝。 有什么实际的原因导致这种情况不可能发生?不断编写二进制文件的损耗会太大吗?程序集在部署/运行之前是否无法保存在内存中?

3
在Visual Studio中调试/发布项目之前,我需要清理/重建项目吗?
这可能是一个愚蠢的问题,但是在调试或发布Visual Studio项目之前是否需要清理/重建? 我看到其他开发人员一直在这样做,有时甚至我甚至都没有想到就开始这样做。似乎总是习惯清理,等待,重建,等待,发布。 我知道我并不总是这样做。...我想是在花了很多时间调试错误之后才开始做的,只是发现在我清理并重建解决方案后它消失了。我已经不止一次遇到这个问题,所以我知道这不是一次性的事情,但是总清理/重建项目似乎浪费了很多时间。

1
有什么方法可以制作Windows和Mac的.Net库,并具有依赖于平台的引用?
我们正在尝试使用C#开发用于台式机(Windows和Mac)的跨平台应用程序。该应用程序包含大量与平台相关的内容,我们的团队负责人希望我们用C#编写所有这些代码。做到这一点的简单方法是用C ++编写包装程序,然后只引用C#代码中的库,然后让C ++库处理平台方面的东西……可惜,事实并非如此。 我正在尝试使用Visual Studio for Mac建立一个库。我希望能够在单个库中提供单个接口,以将对本机文本的访问权限授予当前平台上的语音库-最好不进行两个程序集。Mac上不提供Windows版C#中的文本到语音库,因此我们除了提供自己的桥梁之外,没有其他选择。 我很高兴让该库执行操作系统查找以确定它运行在哪个操作系统上和/或尝试加载一堆本机库并仅使用将加载的库。 如果必须的话,必须有一个可以让我编写两个实现的项目。我还没有找到在Visual Studio for Mac中创建库项目的方法,但是允许我这样做。唯一允许多种实现的项目类型似乎要求这些实现是针对iOS还是针对Android。

5
禁止在外部代码中调用任意函数/类
我曾遇到过一些案例,其中有必要限制外部库和框架的API的访问,以防止对系统造成负面影响。 例如,在SharePoint应用程序中,调用spList.Items.GetItemById以获取列表项似乎很自然,即使是在循环中,也可能没有意识到这会导致巨大的性能问题。 也可能是我们需要禁止使用SmtpClient,以迫使每个人都使用我们自己的类来发送电子邮件,以确保我们可以在测试环境中正确代理和模拟所有电子邮件。 除了在我们自己的代码中的某些特定位置之外,是否有任何可靠且合理直接的方法来实现对外部代码的这些约束?不必绝对在每种情况下都禁止访问这些方法/类,例如通过反射或仅通过某种禁用来禁止访问,而应该严格警告不要使用它们。优选地,如果可能/需要,迫使程序员积极采取措施来克服这些约束。


3
Visual Studio只是一个IDE吗?
对于Windows开发,我的意思是。 查看其他问题,还有VS的替代品,但它们似乎是基于Web的替代品,这很好,或者,如果您愿意,您可以在记事本中编写整个.net网站。 但是,除了Windows开发的IDE之外,还有更多功能吗?IE浏览器是否可以在记事本中创建应用程序,Visual Studio的编译器部分还是单独的部分(可以通过命令行或其他方式调用)? 我不想不使用VS,我对它感到满意,做了我需要做的事等等,只是我好奇的一个方面。

2
Resharper是否仍对Visual Studio 2012进行了重大改进?
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我目前在VS 2008 Pro中使用Resharper。我发现,由于VS中缺少一些基本的重构/快捷方式,因此几乎有必要尽可能提高生产率。 但是我想知道自VS 2008以来是否进行了改进,使其几乎与Resharper一样好?

6
Eclipse中的哪些功能在Visual Studio中不可用?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 我已经使用Eclipse在Java中进行了大量开发,现在我已开始将Visual Studio用于.NET开发。到目前为止,我发现IDE能够执行相同的操作,但只是有所不同。 Eclipse中的哪些功能在Visual Studio中不可用?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.