Tag: visual studio

Visual Studio解决方案中的项目名称有时为空

在visual studio扩展中,我想获得所有项目及其名称: var service = (DTE) Package.GetGlobalService(typeof (SDTE)); var projects = service.Solution.Projects; foreach (Project project in projects) //…. 除了一个小问题外,这种方法工作得很好而且整洁:项目变量确实返回了确切的项目数。 但是如果项目的全名位于解决方案的文件夹中,则它的全名可能是EMPTY。 (我的意思是项目在解决方案的文件夹中统一时的解决方案结构) 如何正确地获得这些项目?

如何在使用Perforce在Visual Studio中重命名文件时保留更改历史记录

我知道有几个关于使用版本控制系统重命名文件的问题。 但我没有找到特殊版本控制系统Perforce的满意答案。 我的问题:当我在 Visual Studio中重命名时,是否有插件/解决方案可以保存我的C#代码文件的版本历史记录? 编辑:目前我正在使用VS2P4插件。 Edit2:我找到了一个更短的方法来重命名文件: 在资源管理器中打开包含文件夹(在解决方案资源管理器中右键单击在Windows资源管 选择文件,然后右键单击Perforce-> Show in P4V。 使用所选文件执行正常的重命名/移动操作。 这种情况比在P4V中的Perforce Depot中导航要短,直到找到正确的文件。 但当然我正在寻找一种更短的方式。 编辑3:有没有办法在VS中直接进行“在P4V中显示” 文件选择 ?

使用Visual Studio 2010打开Word 2010时出现问题?

我一直试图在VS2010中使用C#打开Word文档。 但到目前为止我一直很成功。 我试过寻找答案但都徒劳无功。 在参考部分,我无法在COM选项卡中看到Microsoft Word office库(任何版本)。 我添加了Microsoft.Office.Interop.Word。 .Net选项卡中的版本14,但仍然得到相同的exception: mscorlib.dll中发生未处理的“System.Runtime.InteropServices.COMException”类型exception 附加信息:由于以下错误,检索CLSID为{000209FF-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154未注册类(HRESULTexception:0x80040154(REGDB_E_CLASSNOTREG))。

C# – 在使用没有引用的dependency injection时将dll复制到exe输出目录?

我有一个C#解决方案,我使用dependency injection来解析dll之间的引用。 我有一个exe项目和一些其他没有被exe引用的dll项目(它通过IoC容器使用dll)。 项目设置是默认的visual studio设置,它在其自己的文件夹中构建每个dll。 由于exe没有引用dll,因此它们永远不会被复制到exe的输出目录中,并且不会被IoC框架找到。 你怎么处理这个? 你在同一个目录中构建它们吗? 使用post build copy命令? 或者是其他东西?

如何从C#以编程方式调用“文档格式”?

我正在编写一个简单的VS加载项,并希望以编程方式在代码中调用“文档格式”选项(在“编辑”下)。 谷歌今天对我不是很友好….

禁用/删除子断点?

我在Visual Studio中使用C#调试ASP.NET网站。 当我设置断点(在调试期间)时,随着时间的推移,创建的断点将累积许多子断点。 (见这里 。) 现在,有时当我通过单击红色字形删除断点时,断点仍将在下次执行该行时被触发,因为子断点仍然存在。 在断点窗口中删除断点将解决问题,但是当你有许多设置时找到正确的断点很烦人。 此外,删除许多孩子的断点是一个非常缓慢的操作。 那么为了解决这个问题,我可以禁用这个子断点的创建,还是有办法快速删除所有孩子? 备受欢迎的解决方案! 请注意,这与此不重复: 有关如何删除Visual Studio断点的问题 ,因为我正在询问如何处理子断点。 (虽然我们的预期目标是相同的。)

VSentity framework中的Oracle实体不会更新代码中的主键

我有一个名为Tree的实体,它有一个名为Id的主键(使用StoreGeneratedPattern = Identity),当使用以下代码时,正确地插入到数据库中。 using(TestContainer tss = new TestContainer()) { Tree tree = new Tree() { Name = “TestTree” }; tss.Trees.AddObject(tree); tss.SaveChanges(); } 我有一个后备序列+触发器来处理自动递增的主键Id。 我已经validation这实际上正确插入数据库。 调用tss.Refresh(System.Data.Objects.RefreshMode.StoreWins, tree); 不更新对象(’Id’字段仍为0)。 有任何想法吗?

使用INotifyPropertyChanged的代码片段

我找到了INotifyPropertyChanged的这段代码片段 但是它显示了这样的代码: 我会这样的: 公众:第一个字母的大写字母+ … 私人:第一个字母+下划线+小写字母+ … 我怎样才能做到这一点? 编辑:无需键入公共和私有字段 type Property type string property Property name MyProperty notifyMethod name of method to raise PropertyChanged event NotifyPropertyChanged

加载程序集Xamarin.Android.Support.v4时出现exception

我正在使用Xamarin.Forms在visual studio上工作 ,我得到以下错误: 加载程序集时出现exception:System.IO.FileNotFoundException:无法加载程序集’Xamarin.Android.Support.v4,Version = 1.0.0.0,Culture = neutral,PublicKeyToken =’。 也许它在Mono for Android配置文件中不存在? 文件名:Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference,ReaderParameters参数)的Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1程序集,AssemblyDefinition程序集,布局topLevel)在Xamarin.Android.Tasks.ResolveAssemblies.Execute()SportBook.Droid 我该怎么办?

如何从C#项目的构建事件访问Visual Studio解决方案级平台?

我们有一个大型的VS 2010解决方案,主要是C#代码,但有一些本地DLL,各种C#项目依赖(包括我们的unit testingDLL)。 我们正在尝试支持32位和64位版本的库。 所以我们现在将本机DLL构建为32位和64位。 问题是我们的很多C#项目都有后期构建事件,它们将所需的本机DLL复制到项目的TargetDir中。 现在我们有两个不同版本的本机DLL(32位和64位),我需要能够指定正确的dir来复制本机DLL。 我原本以为我可以简单地在路径中使用$(Platform),如下所示: copy $(SolutionDir)\NativeDll\$(Platform)\$(Configuration) $(TargetDir) 但这不起作用,因为$(Platform)是项目的平台,而不是解决方案级平台。 在这种情况下,$(平台)是“任何CPU”。 从我看到的C#项目中的后期构建事件宏看,似乎没有办法访问正在构建的解决方案级平台。 有没有更好的方法来实现我的目标?