标签: vbc

有没有办法获得Visual Studio使用的构建命令行?

我想从命令行进行构建,但我想从Visual Studio(2012)中获取确切的命令行语法,这样我就不必手动找出所有的标志,导入和其他参数.

有没有办法让Visual Studio显示这些信息?

csc vbc visual-studio-2012

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

Escape Catch-22在.NET 2.0中具有扩展属性

同时针对2.0,3.0,3.5,4.0和4.5的单个.NET程序集如何支持C#和VB.NET使用者的扩展方法?

标准建议是添加:

namespace System.Runtime.CompilerServices
{
  public sealed class ExtensionAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)

这种做法被认为一个微软员工,并甚至在特色MSDN杂志.它被许多博主广泛称赞为"没有不良影响".

哦,除了它会导致针对.NET 3.5或更高版本的VB.NET项目的编译器错误.

Microsoft.Core.Scripting.dll的作者发现了这一点,并将"公共"改为"内部".

namespace System.Runtime.CompilerServices
{
  internal sealed class ExtensionAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)

这似乎解决了VB兼容性问题.

因此,我信任地将该方法用于广泛使用的ImageResizing.Net库的最新版本(3.2.1).

但是随后,我们开始收到此编译器错误(原报告),或多或少随机,对某些用户针对.NET 3.5+.

Error 5 Missing compiler required member
'System.Runtime.CompilerServices.ExtensionAttribute..ctor'
Run Code Online (Sandbox Code Playgroud)

因为MSBuild/VisualStudio编译器在解决命名冲突时显然不打算查看范围规则,并且程序集引用的顺序扮演一个不完全文档化的角色,所以我不完全理解为什么以及何时发生这种情况.

这里有几个哈克变通办法,如改变程序集命名空间,重新创建项目文件,删除/ readding System.Core程序,并与.NET Framework的目标版本摆弄.不幸的是,这些变通方法都不是100%(除了别名,但这是一种令人无法接受的痛苦).

我怎样才能解决这个问题

  1. 维护对程序集内扩展方法使用的支持,
  2. 维护对.NET 2.0/3.0的支持
  3. 每个.NET框架版本不需要多个程序集.

或者,是否有一个修补程序使编译器注意范围规则?

关于SO的相关问题没有回答这个问题

clr extension-methods csc vbc

9
推荐指数
1
解决办法
1821
查看次数

有谁知道查看VB.NET项目的所有编译器警告的方法?

VB.NET有这个相当恼人的限制,它限制了100报告的编译器警告.

vbc : warning BC42206: Maximum number of warnings has been exceeded.
Run Code Online (Sandbox Code Playgroud)

当试图调整符合VB.NET最佳实践所需的工作量(例如启用Option Strict)时,这会让事情变得相当令人沮丧.

是否有任何方法可以删除,调整此限制,或者通过其他方式(例如通过第三方代码分析工具)收集警告?

vb.net max limit compiler-warnings vbc

8
推荐指数
2
解决办法
3171
查看次数

vbc.exe退出,代码为-2146232797

我正在将具有多个项目的解决方案移至VS 2015.基础项目在VS 2013中构建得很好.但是当我尝试在VS 2015中构建时,我得到以下错误.

C:\ Program Files(x86)\ MSBuild\14.0\bin\Microsoft.VisualBasic.Core.targets(56,5):错误MSB6006:"vbc.exe"退出,代码为-2146232797.

需要帮助

vb.net vbc visual-studio-2015

7
推荐指数
2
解决办法
6380
查看次数

VB.net程序没有UI

我正在通过文本文件制作VB.net程序,我正在使用vbc.exe通过命令行编译它.我正试图在计算机的后台运行一个简单的程序.问题是,它显示恼人的控制台窗口.我怎么没有显示任何东西?没有形式,没有控制台?

vb.net user-interface vbc

3
推荐指数
3
解决办法
7859
查看次数