根据http://www.regexr.com/38o5d我的reqex似乎工作,但当我实现它到我的JavaScript
var prefix = hash.replace(/\/|#/g, '');
我将收到以下错误:SyntaxError:无效的正则表达式:缺少/
我创建了一个roslyn CodeAnalyzer和一个CodeFixProvider.
分析器运行正常,并创建规则,但是当我尝试打开显示修复的弹出窗口时,我收到"发生了一个或多个错误" VS弹出窗口.
我第一次运行它,它工作正常,但后来我停止调试,之后它给了我这个错误,所以我尝试了另一台计算机,并在我第一次调试时再次工作正常.
我的分析器:
private static void Analyze(SyntaxNodeAnalysisContext context)
{
    var localDeclaration = (LocalDeclarationStatementSyntax)context.Node;
    foreach (var variable in localDeclaration.Declaration.Variables)
    {
        var initializer = variable.Initializer;
        if (initializer == null) return;
    }
    var node = context.Node;
    while (node.Kind() != SyntaxKind.MethodDeclaration)
    {
        node = node.Parent;
    }
    var method = (MethodDeclarationSyntax)node;
    if (method.AttributeLists.Any(x => x.Attributes.Any(y => y.Name is IdentifierNameSyntax && ((IdentifierNameSyntax)y.Name).Identifier.Text.ToLower().Contains("test"))))
    {
        context.ReportDiagnostic(Diagnostic.Create(Rule, context.Node.GetLocation()));
    }
}
Run Code Online (Sandbox Code Playgroud)
我的CodeFixProvider
private async Task<Document> AddAssertionsAsync(Document document, LocalDeclarationStatementSyntax localDeclaration, CancellationToken cancellationToken)
{
    var editor …Run Code Online (Sandbox Code Playgroud) 我仍然是新手Roslyn,因此希望这不是一个愚蠢的问题。
我正在寻找的是一种查看类是否已实现接口的所有方法的方法,如果没有实现,则高亮显示接口,就像内置的“实现接口”一样。
到目前为止,我可以看到方法名称是否已实现,但是我还没有找到一种方法来查看是否在方法上设置了正确的returntype。
我的docker-compose文件如下所示:
version: '2'
services:
  explore:
    image: explore
    build:
      context: ./Explore
      dockerfile: VsDockerfile
    environment:
      - "ElasticUrl=http://localhost:9200"
      - "RabbitMq/Host=localhost"
      - "RabbitMq/Username=guest"
      - "RabbitMq/Password=guest"
    networks:
      - localnet
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.4.3
    container_name: elasticsearch
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ports:
      - 9200:9200
    volumes:
      - ./esdata:/usr/share/elasticsearch/data
    networks:
      - localnet
  rabbit:
    image: rabbitmq:3.6.7-management
    hostname: rabbit
    ports:
      - 15672:15672
      - 5672:5672
    networks:
      - localnet
networks:
  localnet:
    external:
      name: localnet
Run Code Online (Sandbox Code Playgroud)
如果我在浏览器中输入http:// localhost:15672,我会得到rabbitmq接口,但是如果我尝试从我的Explore项目连接如下:
public SqlToRabbitProcessor(SqlToRabbitRepository sqlToRabbitRepository)
{
    _sqlToRabbitRepository = sqlToRabbitRepository;
    var factory = new ConnectionFactory
    {
        HostName = Environment.GetEnvironmentVariable("RabbitMq/Host"), …Run Code Online (Sandbox Code Playgroud) 我试图隐藏桌面上图像中显示的后退按钮,但无论我尝试什么,它都会继续显示。
我努力了
<Shell.BackButtonBehavior>
    <BackButtonBehavior IsVisible="False" IsEnabled="False" />
</Shell.BackButtonBehavior>
Run Code Online (Sandbox Code Playgroud)
我已经尝试遵循这篇文章为什么后退按钮隐藏在毛伊岛?
我的导航是这样完成的await Shell.Current.GoToAsync(new ShellNavigationState(location), false);
我错过了什么吗?
我有几个包含不同 protobuf 文件的合同项目,但是某些消息类型具有相同的消息类型,例如
message user
{
  Address address = 1
}
message Address 
{
  ....
}
Run Code Online (Sandbox Code Playgroud)
我现在创建了一个共享项目并向其中添加了一个 Address.proto 文件,其中仅包含
syntax = "proto3"
option csharp_namespace = "shared.protos"
package AddressPackage
message Address {....}
Run Code Online (Sandbox Code Playgroud)
我的问题是弄清楚如何将其导入到我不同合同项目中的原型中。我已添加共享项目作为参考,但我从那里尝试的所有其他内容都导致错误。
我知道我需要使用import只是还没有弄清楚如何写字符串。
更新
我正在使用 gRPC.tools nuget 并且所有 .proto 文件都设置为 protobuf 编译器
文件结构如下
用户合同项目
两个项目都在它自己的文件夹中,并且这些文件夹彼此相邻。
在它说的共享项目中
<ItemGroup>
  <None Remove="Protos\Address.proto" />
</ItemGroup>
<ItemGroup>
  <Protobuf Include="Protos\Address.proto">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </Protobuf>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
并在 user.contract 中说
<ItemGroup>
  <None Remove="Protos\User.proto" />
</ItemGroup>
<ItemGroup>
  <Protobuf Include="Protos\User.proto" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
提前致谢。
我想知道是否有可能做这样的事情:
if (mb == null || typeof (mb) != "object") {
    var mb = new Object();
}
mb = {
    tests: {
        onAnimals: {
            test: function() {
                return "";
            }
        }
        onHumans: {
            test: function() {
                return "";
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
当我尝试它时,我可以看到测试,但当我进一步指出时,我无法看到动物/ onHumans.
javascript对我来说还是新手,所以希望你能提供帮助.
c# ×3
javascript ×2
roslyn ×2
.net-core ×1
.net-maui ×1
class-design ×1
maui ×1
maui-windows ×1
protobuf-net ×1
rabbitmq ×1
regex ×1
sockets ×1