Tag: visual studio

在使用F5时,最终似乎没有在C#控制台应用程序中执行

int i=0; try{ int j = 10/i; } catch(IOException e){} finally{ Console.WriteLine(“In finally”); Console.ReadLine(); } 在VS2008中按F5时,似乎不执行finally块。 我在控制台应用程序中使用此代码。

DialogPage – 字符串数组未保留

我正在开发视觉工作室的扩展。 我有一个选项页面: public class GeneralOptionsPage : DialogPage { [Category(“General”)] [DisplayName(“Foos”)] [Description(“Bla Foo Bla”)] public string[] Foos { get; set; } [Category(“General”)] [DisplayName(“Bar”)] [Description(“Bar Foo Bar”)] public string Bar { get; set; } } Bar酒店的工作非常完美并且坚持不懈。 Foos属性也可以工作(它甚至可以在选项页面中为你提供一个很好的弹出窗口,你可以在每行输入一个字符串),这意味着我可以设置它并在我的扩展中使用它,但它不会写入注册表/存储。 当我关闭VS并再次打开它时,它总是空着的。 从MSDN引用: DialogPage的默认实现支持具有适当转换器的属性,或者是可以扩展为具有适当转换器的属性的结构或数组的属性。 有关转换器列表,请参阅System.ComponentModel命名空间。 Visual Studio Extensibility Samples管理int,string和System.Drawing.Size属性。 据我所知,我正在使用System.ComponentModel命名空间中的有效组件。 那么我做错了什么? 我是否必须以不同的方式处理数组?

维护VS Test Project中unit testing方法之间的上下文

我想按顺序运行以下unit testing: 使用随机数创建新客户的名称,密码等。 检索刚刚创建的客户并断言其属性包含相同的随机数 在同一用户上调用ForgotPassword函数,使用相同的用户名随机数 如清楚所示,我需要生成一次随机数,并在3种测试方法中共享它。 我似乎找不到办法做到这一点。 我想过使用TestContext对象,但是为每个实例创建了它。 我尝试使用ClassInitialize()方法没有帮助,因为它是静态的,因此其他方法无法访问该数字。 知道如何实现我的目标吗?

Visual Studio Build Tools 2017中缺少vs_buildtools.exe

我使用安装两个工作负载的链接(位于其他工具和框架下的底部)安装了Visual Studio Build Tools 2017:Visual C ++构建工具和Web开发构建工具。 我保留了默认文件夹。 根据相当多的文章,如Microsoft Web Application Targets is Missing ,我希望在文件夹中看到vs_buildtools.exe: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin文件夹, 但不是。 我看到了MSBuild.exe,你可以从这个截图中看到。 这是安装程序的屏幕截图。 真的,有不少文章说的完全相同: 1,2 ,仅命名为2。 我如何获得vs_buildtools.exe? 显然,解决我的Microsoft引发的Web应用程序目标缺失问题的唯一方法是,因为它不再是15.0是使用此可执行文件并运行vs_buildtools.exe –add Microsoft.VisualStudio.Workload.WebBuildTools并vs_buildtools.exe –add Microsoft.VisualStudio.Workload.WebBuildTools作为答案指定。 我现在也很恼火,应该存在的东西没有。 Microsoft是否在更新版本的Build Tools中更改了某些内容?

将自定义信息添加到CSPROJ文件

作为我们开发生命周期的一部分,我们在项目中针对C#源运行了许多过程。 这些进程由GUI驱动,该GUI当前读取* .csproj文件以查找项目中使用的源文件。 这很好用。 我们现在有一个新要求,即提供一些需要调用Web服务的validation过程。 需要为Web服务提供一些特定于项目的凭据。 理想情况下,我们可以在* .csproj文件中输入和存储这些凭据,但我没有看到扩展它的方法 – 是吗? 我们真的不想引入新的配置。 如果我们可以帮助它,只为这些设置提供文件。 是否有可能存储这样的信息是* .csproj文件,如果没有其他地方可以放置它。 谢谢

Interop,Native DLL和Visual Studio构建过程

令人困惑的标题,令人困惑的问题,但我希望我能引起你的注意。 要点: 我有一个包含三个项目的VS解决方案。 Project1 :一个Native DLL interop包装器,它导入Native.dll 。 Project2 :一个WinForms项目,它调用Project1包含的包装器。 Project3 :一个MSTest项目,用于调用Project1 Project2包含的包装器。 我在Project1中包含了Native.dll,并将其配置为复制到输出文件夹。 此设置将导致DllImport失败,表示无法找到目标DLL。 原因很简单。 我正在运行Project 2或3,并且在每种情况下: Project2:构建时,它复制构建过程生成的Project1.dll但不复制Native.dll。 运行代码时,该文件夹是$ ProjectDir \ bin \ Debug(或release),并且Native.dll不可用。 Project3:这是一个MSTest项目; 当要求运行所有测试时,它会编译应用程序并将输出exe和dll复制到输出文件夹。 但是它不会复制Native.dll。 在这两个示例中,DLL都被复制到Project1的调试文件夹,这是无用的。 有没有一种简单的方法来纠正这个项目? 简单来说,我的意思是我想避免使用Post Build进行复制或其他手动过程。 我还想尝试避免使用绝对路径来复制.dll。 我正在使用Visual Studio 2010。 谢谢! 更新:上面的场景说明Project3引用了Project1,但事实并非如此。 Project3引用Project2,引用Project1。 在这种情况下,Native.dll将复制到Project2输出文件夹,但不会复制到Project3输出文件夹。 我还添加了一个类库类型的Project4,添加了对Project2的引用,它也没有复制。 换句话说,如果项目P [A]具有带有“复制到输出”规则的项目X并且P [B]引用它,则P [B]也复制X.但是,如果P [C]引用P [ B],它忽略了复制规则。

Visual Studio加载测试结果存储库空间不足

运行我的Visual Studio加载测试会导致以下错误消息: 运行测试时出错。 由于以下错误,结果收集停止。 无法访问负载测试结果存储库。 负载测试结果存储库空间不足。 为存储库分配更多空间(如果可能),或删除旧负载测试运行的结果。 我不知道任何这样的存储库。 如何找到存储库并解决问题?

谁将app.config复制到app.exe.config?

我正在编写一个游戏开发IDE,用于创建和编译.NET项目(我过去几年一直在研究),并且我正在更新它以生成输出,不仅适用于Windows / Visual Studio,还适用于对于Linux / MonoDevelop(一个非常简单的.NET进程,但仍需要一些调整)。 作为其中的一部分,我发现有必要开始生成app.config文件作为其中的一部分,以将依赖的DLL名称映射到具有元素的Linux依赖项名称。 我很担心谁负责将app.config文件复制到输出名称app.exe.config。 在Visual Studio项目中,app.config的Build Action通常设置为“None”,其设置表明它不会被复制到任何地方,但是当Visual Studio编译项目时它会生成app.exe.config(虽然我有时发现这是不可靠的)。 当我使用MSBuild构建IDE生成的解决方案文件(用于调试目的)时,MSBuild将app.config复制到app.exe.config。 但是当我使用CSharpCodeProvider.CompileAssemblyFromFile编译项目时(它自然)不喜欢将配置文件包含为源代码(“app.config(1,1):error CS0116:命名空间不直接包含诸如字段之类的成员或方法“),当然,当我不将它作为输入包括它时,它不会将它复制到输出。 我是否有责任单独将app.config复制到app.exe.config,或者有更标准的方法吗? 是否硬连线采用第一个* .config文件? 在我的IDE中,可以想象app.config文件将被重命名或添加另一个(就像在Visual Studio中一样)。 我觉得IDE对配置文件有这个秘密行为似乎很奇怪(我认为MonoDevelop在这方面表现相似,因为我找不到配置文件的特殊操作)。 我不知道它甚至会选择这个秘密行动适用的文件。

Visual Studio 2015 WPF XAML编辑器无法打开XAML文件

我最近从Visual Studio 2015更新到Visual Studio 2015 Update 2(专业版)。 一切正常,除了我无法打开XAML文件的事实 – 点击我得到的任何XAML文件后: Visual Studio has encountered an unexpected error. 看起来尚未安装XamlDesignerPackage。 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0 \下不存在XamlEditor条目,它存在于HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\ ,这可能表明此Visual Studio 2015未安装XAML Designer。 我尝试了一切: 4重新安装 清洁缓存 删除ComponentDataCache 重置设置。 在Visual Studio 2013中一切正常。 有没有办法使用VS2013的XAMLEditor? 你有什么想法我能做什么吗? 我会很高兴得到任何帮助,因为它阻止我工作。 这是ActivityLog.xml的错误: 507 2016/04/04 13:15:58.450错误VisualStudio SetSite包[XamlDesignerPackage]失败[方法因意外错误代码50而失败。]:{at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType,Boolean isContainer,String在System.Security.AccessControl.FileSecurity的System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer,String name,AccessControlSections includeSections,Boolean isDirectory)中的name,SafeHandle句柄,AccessControlSections includeSections,Boolean createByName,ExceptionFromErrorCode exceptionFromErrorCode,Object exceptionContext)。 Microsoft.VisualStudio的Microsoft.VisualStudio.DesignTools.HostUtility.Utils.HostAppPackageAclService.CheckAclsOnDirectory(String目录)中的Microsoft.VisualStudio.DesignTools.Utility.IO.AccessHelper.IsAccessibleByAllApplicationPackages(String path)中的.ctor(String fileName,AccessControlSections includeSections)。 […]

视觉工作室“不一致的行结尾”

我是VS的新手,从未真正使用过它。 喜欢其他IDE,但是当它在VS和MonoDevelop之间折腾时,我被告知VS是更好的选择。 我将它设置为Unity中的默认编辑器,它经常给我这个消息 此文件中的行结尾不一致。 你想要标准化结局吗? 然后它给了我一个列表,如 Windows(CR LF) Macintosh(CR) Unix(LF) 我怎么能阻止它出现呢?