我有Visual Studio 2013.我也安装了MSBuild Tools 2013.以下代码给了我例外
var workspace=MSBuildWorkspace.Create();
Run Code Online (Sandbox Code Playgroud)
这是例外
无法加载文件或程序集'Microsoft.Build,Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一.该系统找不到指定的文件.
我究竟做错了什么 ?
我正在尝试使用MSBuildWorkspace类.我的项目中有所有程序集引用.当我在对象浏览器中打开引用时,我看到了命名空间和我尝试使用的类.但在我的以下使用声明中,
using Microsoft.CodeAnalysis.MSBuild
我得到了一个
The type or namespace name 'MSBuild' does not exist in the namespace 'Microsoft.CodeAnalysis' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)
但有趣的是,Syntax荧光笔识别出类型名称,它的编译器抱怨

这是构建日志
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework.
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.VisualBasic.Workspaces" could not be resolved because …Run Code Online (Sandbox Code Playgroud) 编辑:2013年9月15日 - 我正在描述我的情景进一步分解为帮助每个人更好地了解我的情况的步骤.添加了整个应用程序的源代码以供下载.如果要跳转到原始问题,请向下滚动到最后一个标题.请让我知道这些问题.谢谢
阿拉斯加州首府朱诺有一个AST(阿拉斯加州警官)总部大楼,他们希望在这个大屏幕上显示一个显示和自动更新的单个号码.该号码称为(犯罪商数指数)或CQI
CQI基本上是一个计算出的数字,用于显示当前的国家犯罪情况......
运行屏幕的程序是.NET WPF应用程序,它通过Hot IObservable流不断接收CrimeReport对象.
每个城市计算CQI,然后采用所有城市的Sum(),称为国家CQI以下是计算国家CQI的步骤
每次报告犯罪时,CrimeReport都会发送到.NET应用程序.它具有以下组件
犯罪日期时间
市 - 市/辖县
SeverityLevel - 严肃/非严重
EstimatedSolveTime - AST确定解决犯罪所需的预计天数.
因此,在此步骤中,我们订阅了IObservable并创建了MainViewModel的实例
IObservable<CrimeReport> reportSource = mainSource.Publish();
MainVM = new MainViewModel(reportSource);
reportSource.Connect();
Run Code Online (Sandbox Code Playgroud)
当您收到报告时,请按城市进行分组
var cities = reportSource.GroupBy(k => k.City)
.Select(g => new CityDto(g.Key, g);
Run Code Online (Sandbox Code Playgroud)
CityDto是一个DTO课程,它接收当前城市的所有报告并计算城市的CQI.
城市CQI的计算通过以下公式完成
如果严重犯罪总数与非严重犯罪总数之比小于1
然后
城市的CQI =比率x估计求解时间的最小值
其他
城市的CQI =比率x最大估计求解时间
这是CityDto的类定义
internal class CityDto
{
public string CityName { get; set; }
public IObservable<decimal> CityCqi {get; set;}
public …Run Code Online (Sandbox Code Playgroud) 我在prolog中设计了一个基于规则的引擎,它基本上是关于如何在纸牌游戏中击败真人的规则.每当我在算法中找到一个周期时,就会导致我的一个主题利用并获得优势; 我进去修复下一个版本的规则.
我在prolog中用500行代码做的同样的事情可以在C++或C#中完成(不容易)大约10,000行,包括大量的嵌套if-else和修复逻辑问题将是一场噩梦.
我的一个朋友告诉我,我的Card游戏没有做任何AI,因为同样的事情可以在功能或面向对象的编程语言中完成(当然需要付出更多的努力).他说这更像是基于案例的推理.
这是真的 ?prolog不是AI工具吗?我见过人们在prolog中编写NLP代码的例子.
还有哪些其他工具被认为是AI工具?
我有以下场景:
共同项目
图书馆计划
注册为addin root注册一个扩展点,其扩展点由Common Project Registers注册一个扩展点
有一个扩展管理器,它提供注册到上面扩展点的扩展
主要应用(exe)
我的问题是
我正在使用Xalan 库。我的程序在 Xalan 调用中的某个地方崩溃了。我希望看到从 main() 一直到崩溃点的完整堆栈跟踪。我正在使用以下命令行来编译
g++ -o program.out -g -O0 -lxalan-c myprogram.out
Run Code Online (Sandbox Code Playgroud)
我正在使用“backtrace full”命令并获得以下输出
#0 0xb79313b4 in xalanc_1_11::XPath::findRoot(xalanc_1_11::XPathExecutionContext&, xalanc_1_11::XalanNode*, int const*, int, xalanc_1_11::MutableNodeRefList&) const () from /usr/lib/libxalan-c.so.111
No symbol table info available.
#1 0xb793afa9 in xalanc_1_11::XPath::step(xalanc_1_11::XPathExecutionContext&, xalanc_1_11::XalanNode*, int const*, xalanc_1_11::MutableNodeRefList&) const
() from /usr/lib/libxalan-c.so.111
No symbol table info available.
#2 0xb793d350 in xalanc_1_11::XPath::locationPath(xalanc_1_11::XalanNode*, int const*, xalanc_1_11::XPathExecutionContext&) const ()
from /usr/lib/libxalan-c.so.111
No symbol table info available.
#3 0xb7937d22 in xalanc_1_11::XPath::executeMore(xalanc_1_11::XalanNode*, int const*, xalanc_1_11::XPathExecutionContext&) const ()
from /usr/lib/libxalan-c.so.111
No …Run Code Online (Sandbox Code Playgroud) 假设我有以下数组(我的序列都按升序排序,并包含正整数)
var mySequence = new [] {1, 2, 3, 7, 8, 9, 15, 16, 17};
Run Code Online (Sandbox Code Playgroud)
我想写一个linq查询来选择被视为一个组的系列中的连续数字.所以,在上面的例子中我会得到{[1,2,3],[7,8,9],[15,16,17]}.
我可以编写一个foreach()序列,遍历每个元素,看看序列在哪里跳跃并在那里产生一个组.但有没有LINQ唯一的方法呢?我可能能够将我的foreach()代码移动到一个新的扩展方法,所以我的代码仍然看起来像LINQy,但我想知道System.Linq中是否有任何可用的东西.
编辑:我创建了自己的扩展(如下所示),但Me.Name在他的答案中提出了一些非常聪明的东西.
internal class Sequence
{
public int Start { get; set; }
public int End { get; set; }
}
internal static class EnumerableMixins
{
public static IEnumerable<Sequence> GroupFragments(this IEnumerable<int> sequence)
{
if (sequence.Any())
{
var lastNumber = sequence.First();
var firstNumber = lastNumber;
foreach(var number in sequence.Skip(1))
{
if (Math.Abs(number - lastNumber) > 1)
{
yield return …Run Code Online (Sandbox Code Playgroud) 我正在尝试开发一个简单的温度转换器类。
open System
type Converter() =
member this.FtoC (f : float) = (5/9) * (f - 32.0)
member this.CtoF(c : float) = (9/5) * c + 32.0
let conv = Converter()
54.0 |> conv.FtoC |> printfn "54 F to C: %A"
32.0 |> conv.CtoF |> printfn "32 C to F: %A"
Run Code Online (Sandbox Code Playgroud)
我收到以下编译错误
prog.fs(4,46): error FS0001: The type 'float' does not match the type 'int'
prog.fs(4,39): error FS0043: The type 'float' does not match the type 'int'
Run Code Online (Sandbox Code Playgroud)
我缺少什么?它将代码的哪一部分推断为 int ?
我有一个` ITypeSymbol '对象.如果我调用GetMembers,它会给我当前类型的成员,而不是基础.我知道我可以使用BaseType属性挖掘它,并有一些迭代代码来获取所有属性.
有没有更简单的方法来获取所有成员而不管继承层次结构中的级别?
我有以下观察
IObservable<Work> observable = SomeMethodToGetWorkToDo();
Run Code Online (Sandbox Code Playgroud)
每次OnNext调用上面的内容时,我都需要在一个单独的线程中完成工作.每项工作都需要很长时间才能完成,所以我不能让Work队列中的其他项目等待有足够的系统资源.
我认为ObserveOn可以解决我的问题,但是当我运行几个Console.WriteLine调用来查看线程ID时,我看到每个通知调用都有相同的线程ID.
我怎样才能确保并行性OnNext?