标签: visual-studio

Visual Studio Code 默认文件夹

我最近安装了 Visual Studio Code,以便在我和朋友一起做项目时在笔记本电脑上修改一些东西,我一直想知道如何为文件夹设置默认目录。每次打开编辑器都要设置文件夹有点烦人。

settings visual-studio

6
推荐指数
1
解决办法
2万
查看次数

Visual Studio 2017 未突出显示错误

我最近从 Visual Studio 2012 升级到 2017(更新到版本 15.3.5)并且在 IDE 上遇到了一些问题。

在某个项目中,我没有错误下划线。

在此处输入图片说明

而在错误列表窗格中,“只构建”真实地反映了更多的不是“构建智能感知+”信息

在此处输入图片说明

此外,选择“Build + IntelliSense”后,我只能在“输出”窗口中看到编译器错误。这是构建失败后的错误列表

在此处输入图片说明

但输出窗口有这个:

3>------ 构建开始:项目:...,配置:调试任何 CPU ------
3>C:\Checkout...\MainForm.vb(454,27):错误 BC30311: “Module1.aClass”类型的值无法转换为“Module1.bClass”。

并非所有项目都会发生这种情况。我做了一个新项目,看看我是否可以复制,但我不能。这是一个具有相同代码的新项目,其中错误在代码中带有下划线并且“Build + IntelliSense”有效。

在此处输入图片说明

我什至对 vbproj 文件中的 xml 进行了排序,并“区分”了有问题的项目与新项目,并且没有明显的区别会导致这种情况。两者都引用相同的编译器。这两个项目都针对 .Net 4.6.2,并设置为仅针对 x86 进行编译。违规项目引用了一些其他项目(C# 和 VB.Net)以及第三方 dll 和 nuget 包。除了这些差异之外,别无他物。

违规项目解决方案中的其他项目(C# 和 VB.Net)工作正常。

我在网上看到过类似的问题,但没有修复对我有用。我已经尝试过安装程序中的“修复”选项。然后我卸载了 Visual Studio 并重新安装。

更新:

改变目标框架似乎有一些效果。有这种行为的项目以 4.6.2 为目标,没有显示错误,当它更改为 4.7 时,显示编译错误。然后改回 4.5 它显示错误。然后改回 4.6.2 它显示没有错误。重复这个过程被证明是不可重复的。4.7, 4.5, 4.6, 4.6.2 - 不管怎样,现在都没有显示错误。

链接此 Microsoft 页面https://developercommunity.visualstudio.com/content/problem/7759/no-errors-displayed-in-the-error-list.html也很重要,因为许多其他人似乎也有类似的问题。

vb.net visual-studio roslyn visual-studio-2017

6
推荐指数
1
解决办法
3472
查看次数

使用新的 csproj 格式时如何将 C# 程序集标记为符合 CLS?

我最近将一个 C# 项目从xproj格式升级到了新的csproj. 在迁移过程中,旧的AssemblyInfo.cs已被删除,所以我想知道如何表明我的库符合 cls 标准?

仅供参考:这是 AssemblyInfo.cs 中的属性: [assembly:CLSCompliant(true)]

.net c# projects-and-solutions visual-studio

6
推荐指数
1
解决办法
1416
查看次数

错误 CS7069:对类型“x”的引用声称它在“y”中定义,但找不到;MSBuild 14

我在 Visual Studio 2017 中遇到了一个奇怪的问题。最近我们内部 nuget 包的变化将一个在扩展中使用的类移动到另一个项目/包,但命名空间没有改变。在另一个解决方案中更新新包后,扩展方法开始抛出编译错误。

“对类型 'x' 的引用声称它在 'y' 中定义,但找不到它”

我可以通过更改扩展方法以用作静态调用、使用 Visual Studio 2013 或让 resharper 构建使用 msbuild 12(14 和 15 抛出相同的错误)来获得要构建的解决方案。

我尝试过清除缓存、删除包和恢复、重新启动所有内容以及在单独的文件夹中重新结帐。还查看了其他有相同错误的问题,但他们提到的没有任何效果。

我确实计划让移动课程的团队修复命名空间以匹配项目,但需要几周时间才能完成。

前任:

//In project Company.Auto 
namespace Company.Auto.Extensions
{
   using System;

   public static class Cars
   {
       public static IDictionary<string, Car> DoStuff(this Car car)
       {
       }
   }
}

//Moved to project Company.Stuff.Something.Documents
namespace Company.Auto.Domain
{
   using System;

   public class Car
   {

   }
}
Run Code Online (Sandbox Code Playgroud)

c# visual-studio visual-studio-2017

6
推荐指数
1
解决办法
883
查看次数

`dotnet sln add` 错误的项目类型 GUID

当我dotnet sln add {myProject.csproj}为 .NET Core/Standard 项目做这件事时,它会将它添加为项目类型(我认为){FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}而不是 .NET Core 的{9A19103F-16F7-4668-BE54-9A1E7A4F7556}.

因此,当我在 Visual Studio 中打开解决方案时,它会抱怨并“升级”csproj到 .NET Framework csproj,而不是 .NET Core 。我可以手动编辑,sln但这是一件苦差事。

难道我做错了什么?有我遗漏的论据吗?

msbuild visual-studio sln-file .net-core dotnet-cli

6
推荐指数
1
解决办法
1601
查看次数

有没有办法通过 VS IDE 将我未提交的源与 git 中的任意历史记录项进行比较?

通过我们的工作流程,这是对 gitflow 的轻微修改,我们将拥有一个具有我们功能的本地分支。然后我们在该分支上执行我们的功能/修复,将其推送到服务器,对其进行审查,然后将其合并到主干。

在工作时,我喜欢看看我从分支开始的地方做了什么改变。但是,如果我提交了一些更改,从那时起我将无法再看到我的更改。很高兴从分支的角度看到更改以确保我的所有更改都有效,但我只能通过Compare with Unmodified....

作为一种解决方法,我本以为我至少可以查看文件的历史记录,并通过上下文菜单查看从当前文件到其中列出的文件的更改,但该选项也不可用。您只能与 2 个现有提交进行比较。

似乎我只能从命令行看到从 HEAD 到历史记录中任意点的更改。我是否错过了一些针对历史上任意点查看未提交代码的深奥方式?或者这个功能不存在?

编辑

与其他人交谈并给出对这个问题的唯一回答,目前看来这是不可能的。

在这种情况下,我在此处创建了一个 uservoice 项以便将此功能添加到 Visual Studio,并请其他人为它点赞,以便他们在下一个版本中考虑它。

谢谢

git visual-studio visual-studio-2017

6
推荐指数
1
解决办法
258
查看次数

Visual Studio 2017 错误无法打开“X”进行写入 - 对路径的访问被拒绝

抱歉,我似乎无法修复此错误:

在此处输入图片说明

严重性代码描述项目文件行抑制状态错误 CS2012 无法打开 'C:\Users\Usuario\source\repos\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.exe' 进行写入 -- 'Access to the path 'C:\Users \Usuario\source\repos\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.exe' 被拒绝。WindowsFormsApp1 C:\Users\Usuario\source\repos\WindowsFormsApp1\WindowsFormsApp1\CSC 1 Active

我想这与只读文件有关吗?我尝试更改它并恢复为只读,我尝试关闭并重新打开 VS,我尝试以管理员身份运行它,我更改了程序集名称和默认命名空间,现在它甚至无法运行调试器

我是 C# 的新手,我曾经做过 Java,从来没有遇到过这样的错误,对不起,如果它很简单。顺便说一句,我使用的是安装了 Bitdefender 的 Windows 10

c# visual-studio visual-studio-2017

6
推荐指数
2
解决办法
7833
查看次数

Visual Studio 2017 占用本地 AppData 文件夹中的磁盘空间

运行 TreeSize Free 后,我发现 Visual Studio 正在占用 C:\Users\{Me}\AppData\Local\Microsoft\VisualStudio 文件夹中的磁盘空间......特别是在 WebTools\ChromeUserDataXXX\Default\Extensions 中。

有谁知道这些是做什么用的,为什么它们这么大(> 11GB),以及我是否可以安全地删除它们或更改一些设置,这样就不会存储那么多?

谢谢!

在此处输入图片说明

diskspace appdata visual-studio

6
推荐指数
1
解决办法
2992
查看次数

PackageReference 条件被忽略

在我的 VS 2017 项目中,我引用了 docfx.console 包,我希望它仅在满足特定条件时使用。但是该包被用于所有构建。

这是我项目的一部分。我希望在配置为 Installer/AnyCPU 并且 VS 正在构建 net40 风格时使用 docfx.console。

<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>net40;netstandard1.3;netstandard2.0</TargetFrameworks>
    <!-- ... -->
    <Configurations>Debug;Release;Installer</Configurations>
  </PropertyGroup>

  <ItemGroup Condition=" '$(TargetFramework)'=='net40' ">
    <!-- ... -->
    <PackageReference Include="docfx.console" Version="2.30.0" Condition="'$(Configuration)|$(Platform)'=='Installer|AnyCPU'" />
  </ItemGroup>

    <!-- ... -->
</Project>
Run Code Online (Sandbox Code Playgroud)

有没有办法在仅针对 net40 的安装程序构建中使用 docfx.console?

msbuild csproj visual-studio docfx

6
推荐指数
2
解决办法
4151
查看次数

从另一台机器访问 IIS Express

我想从另一台机器访问该站点,例如 192.168.1。11:10369

我找到了一个解决方案,即:http : //bendetat.com/access-iis-express-from-another-machine.html

如果我在Web Matrix 中 运行该项目,它运行良好,
但不能从Visual Studio 运行并显示错误错误请求.. http://prntscr.com/ifz2jq(但它作为http://localhost : 10369 / )

我该怎么做.. 以便它可以通过 IP 地址从VS工作,因为它在网络矩阵和本地主机/

iis visual-studio http.sys webmatrix

6
推荐指数
1
解决办法
8535
查看次数