小编Ale*_*dow的帖子

FSharp.Core.dll中的HasCustomAttribute标记值为19

在FSharp.Core.dll(4.0.30319.1)中,我找到HasCustomAttribute了值为19的标记.在ECMA-335中未指定此值.ECMA-335(第II部分,24.2.6)仅描述0到18之间的值.

有人知道什么是有价值的意思吗?

更新:

好像tag(19)指定的那样GenericParamTable.
Core.EqualityConditionalOnAttributeClass
Collections.Map<'Key,'Value>Class
但第6版Reflector不显示FSharp.Core.Collections.FSharpMap类型的泛型参数的属性.

更新2:

问题已经结束.在第5版ECMA-335中回答.(我使用了第4版).

f#

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

如何按本地时间配置IIS7高级日志记录翻转?

如何按本地时间配置IIS7高级日志记录翻转?

在选项中我设置了每日时间表(见图http://gyazo.com/05843b6e29d51f21ee7ed2d6aa4d5157).但IIS使用UTC时间创建新的日志文件,而不是本地时间.

iis-7 localtime

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

如何比较 Roslyn 中不同项目的类型符号 (ITypeSymbol)?

我在解决方案中有 2 个测试项目。
第一个项目(“VDoc”)声明 VDocQuery 类型。
第二个项目 ("VDocQueryTest" ) 调用 VDocQuery 构造函数。
我得到 2 个 VDocQuery 的 ITypeSymbol(每个项目一个),比​​较它,但得到错误的结果。

步骤:
1. 获取第一个 ITypeSymbol(来自具有 SemanticModel.LookupNamespacesAndTypes() 方法的 VDoc 项目)。
2. 从 VDocQueryTest 项目中获取第二个 ITypeSymbol(来自 ObjectCreationExpressionSyntax.GetTypeInfo().Type)
3. 将它与 ITypeSymbol.Equals(ITypeSymbol) 进行比较。

我期望真正的结果,但得到错误的结果。

问题:如何在一个解决方案中正确比较来自不同项目的 ITypeSymbols?

代码示例:

class Program
{
    static void Main(string[] args)
    {
        string solutionPath = @"..\..\..\StaticAnalysis.sln";

        MSBuildWorkspace workspace = MSBuildWorkspace.Create();
        Solution solution = workspace.OpenSolutionAsync(solutionPath).Result;

        var vdocProject = FindProjectByName("VDoc", solution);
        SemanticModel semanticModel = vdocProject.Documents.First().GetSemanticModelAsync().Result;
        var nsVDocQueryFunctionalTest = (INamespaceOrTypeSymbol)semanticModel.LookupNamespacesAndTypes(0, null, "VDocQueryFunctionalTest").First();
        var tVDocQuery = (ITypeSymbol)semanticModel.LookupNamespacesAndTypes(0, nsVDocQueryFunctionalTest, …
Run Code Online (Sandbox Code Playgroud)

c# roslyn roslyn-code-analysis

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

ObjectCreationExpressionSyntax.Type的SemanticModel.GetTypeInfo()返回null

我试图从ObjectCreationExpressionSyntax对象获取类型信息但失败了.

下面是重现问题的示例(请参阅代码中的"ti.Type为null"):

using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.MSBuild;

namespace RoslynExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string solutionPath = @"..\..\..\RoslynExample.sln";
            MSBuildWorkspace workspace = MSBuildWorkspace.Create();
            Solution solution = workspace.OpenSolutionAsync(solutionPath).Result;

            foreach (var project in solution.Projects)
            {
                if (project.Name == "RoslynBugProject")
                {
                    foreach (var document in project.Documents)
                    {
                        var compilationUnit = document.GetSyntaxRootAsync().Result;
                        var semanticModel = document.GetSemanticModelAsync().Result;
                        new MyWalker(semanticModel).Visit(compilationUnit);
                    }
                }
            }
        }
    }

    partial class MyWalker : CSharpSyntaxWalker
    {
        private SemanticModel _semanticModel;
        public MyWalker(SemanticModel semanticModel)
        {
            _semanticModel = …
Run Code Online (Sandbox Code Playgroud)

c# roslyn

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

标签 统计

c# ×2

roslyn ×2

f# ×1

iis-7 ×1

localtime ×1

roslyn-code-analysis ×1