1

我想在我的MVC 6应用程序中包含Google Analytics API package。我试图包含所有的依赖或让它安装槽NuGet包管理器。无论哪种情况,当我构建解决方案时,出现以下错误:Error CS0246 The type or namespace name 'Google' could not be found (are you missing a using directive or an assembly reference?) ProjectName.ASP.NET Core 5.0在ASP.NET Core 5.0中构建Google Analytics包

任何想法我需要包含哪些依赖项以便在ASP.Net Core 5.0中构建?

以下是我在我的project.json文件:

"dependencies": { 
    ... 
    "Microsoft.Net.Http": "2.2.28.0", 
    "Microsoft.Bcl": "1.1.9.0", 
    "Microsoft.Bcl.Build": "1.0.21.0", 
    "Microsoft.Bcl.Async": "1.0.168.0", 
    "Google.Apis.Analytics.v3": "1.9.0.1100" 
}, 
... 
"frameworks": { 
    "aspnet50": { 
     "dependencies": { 
     } 
    }, 
    "aspnetcore50": { 
     "dependencies": { 
      "Newtonsoft.Json": "6.0.8.0" 
     } 
    } 
}, 

回答

1
这里描述

类似问题的一个:Problems with RavenDB.Client reference in asp.net 5.0 project.json

从那里适应我的回答:

的问题是,你引用Google.Apis.Analytics.v3位于project.json的顶级依赖关系节点中。这意味着这些依赖关系适用于Desktop CLR(aspnet50)和CoreCLR(aspnetcore50)。

当你建立一个ASPNET 5项目时,所有的配置都是内置的,而不仅仅是“活动”的。大多数情况下肯定Google.Apis.Analytics.v3只适用于桌面CLR,因此请将其移动到该配置下的依赖关系节点下。

"dependencies": { 
    .... 
}, 
"frameworks": { 
    "aspnet50": { 
     "dependencies" : { 
      "Google.Apis.Analytics.v3": "1.9.0.1100" 
     } 
    }, 
    "aspnetcore50": {} 
} 

那么你可能要么使用一些有条件的区块在你的代码(#if ASPNET50)或删除CoreCLR一起。 然后,您可能不得不在代码中使用一些条件块(#if ASPNET50)或一起删除CoreCLR。

+0

我终于明白了[Frameworks](https://github.com/aspnet/Home/wiki/Project.json-file#frameworks)部分的文档。 – aredkid 2015-02-10 05:17:55

+0

谢谢你的帮助,但我想知道是否有依赖可以让GA在CoreCLR中编译。 – Alkasai 2015-02-10 16:21:43

+0

这是只有GA作者才能弄清楚的东西:)它不仅仅是不同的依赖关系,还包括代码 – 2015-02-10 16:45:41

相关问题