小编hel*_*ich的帖子

从"选择......案例"声明中省略"案例"

这不是一个真正的问题,但更多的是我的好奇心,我无法通过自己的方式解决.我肯定不会失去任何睡眠.

在VB.NET,开关语句的语法(MSDN上的记录在这里):

Select [ Case ] testexpression
[ Case expressionlist
    [ statements ] ]
[ Case Else
    [ elsestatements ] ]
End Select
Run Code Online (Sandbox Code Playgroud)

请注意,在第一行中,Case是方括号,这意味着它是可选的.

实际上,下面的示例编译和执行的方式与Case关键字的包含方式相同,至少在我尝试过的基本示例中:

Select myIntVar
    Case 0
        Return "Nothing"
    Case 1
        Return "Just one"
    Case Else
        Return "Something else"
End Select
Run Code Online (Sandbox Code Playgroud)

因此我的问题如下:除了语法之外,用和打开switch语句之间有什么区别吗?SelectSelect Case

vb.net syntax

10
推荐指数
1
解决办法
932
查看次数

dotnet 命令找不到 .NET Core 2.1 的新安装

我正在尝试在我的 Debian 9 服务器上托管 ASP.NET Core 应用程序。我之前安装了 .NET Core 1,并且一直在尝试安装 .NET 2.1 的运行时/托管。

我已经按照我的发行版的官方安装说明进行操作,但是dotnet --version命令输出 1.0.1,并dotnet --info输出

.NET 命令行工具 (1.0.1)

产品信息:
 版本:1.0.1
 提交 SHA-1 哈希:005db40cd1

运行环境:
 操作系统名称: debian
 操作系统版本:9
 操作系统平台:Linux
 RID:debian.8-x64
 基本路径:/opt/dotnet/sdk/1.0.1

当我尝试仅运行已复制到服务器的基本模板应用程序时,它会输出

未找到指定的框架“Microsoft.NETCore.App”,版本“2.1.0”。
  - 检查应用程序依赖项并定位安装在以下位置的框架版本:
      /opt/dotnet/shared/Microsoft.NETCore.App
  - 安装了以下版本:
      1.1.1
      1.0.4
  - 或者,安装框架版本“2.1.0”。

果然,/opt/dotnet/shared/Microsoft.NETCore.App只包含 1.1.1 和 1.0.4 的子目录,然而……

$ sudo apt install aspnetcore-runtime-2.1
   [sudo] 根密码:
   阅读包裹清单...完成
   构建依赖树
   读取状态信息...完成
   aspnetcore-runtime-2.1 已经是最新版本 (2.1.2-1)。

我必须做什么才能找到运行时?

对评论中问题的回答:

$ which dotnet
/usr/local/bin/dotnet

dpkg -L 的输出很长,但我认为这给了我问题的原因。对于2.1运行时的文件是在所有 …

linux .net-core asp.net-core

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

根据配置更改输出 dll 的名称

看起来应该很简单,但基本上我有两个类库配置。一个是普通的 .NET 4.0 配置,另一个配置为注册 COM Interop,并另外定义了一个编译符号,以便我可以使用预处理器指令解决一些与 COM 相关的问题。

问题是,部署时,这两个 DLL 必须位于同一文件夹中,调用应用程序才能使用它们(根据设计,对此无能为力)。将每个配置编译到各自的bin/子文件夹时,一切都运行良好,包括使用不同的强名称密钥对两个配置进行签名,以便 GAC 看到两个不同的程序集,即使具有相同的名称和版本。

但是将它们放在同一个文件夹中需要重命名,这就是问题所在。

如果在 Visual Studio 中我可以有条件地在“应用程序”选项卡中设置“程序集名称”属性,那就太棒了,但看起来该选项卡是项目范围的,而不是配置范围的。除此之外,有没有什么方法可以指定不同的文件名,这样就不会导致运行时问题,更不用说开发人员的理智问题了?我的目标是能够向 .NET 客户端提供 COM 不支持的功能,同时仍然与 COM 兼容。我非常不希望将所有内容复制并粘贴到另一个只有不同程序集名称的项目中......

.net com-interop visual-studio

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