小编Orl*_*iam的帖子

无法使用C#和F#将aspnet部署到azure中 - 构建中的所有构建提交都必须使用源自同一项目集合的项目实例

我正在开始一个新的Web应用程序,我想使用aspnetcore和最新的库和工具,但我也想为后端使用一个功能性的,不可变的语言(该域是OOP特别难以使用的域之一)所以我们决定和F#一起去

问题是:用于F#工具的aspnetcore还没有与C#工具(视觉工作室支持,调试等)相提并论,所以我们决定在C#中构建前端,在F#中构建后端.我能够让它在本地构建和运行,但是当我尝试将它推向azure时,我得到一个错误

构建中的所有构建提交必须使用源自同一项目集合的项目实例

这是我的环境:

OS: Windows
IDE: Visual Studio 2017 v15.2
Run Code Online (Sandbox Code Playgroud)

脚步:

  1. 打开Visual Studio 2017
  2. 创建新项目(选择ASP.NET Core Web Application(.NET Framework))
  3. 选择"空模板"
  4. 添加新项目到解决方案(选择F#库)
  5. 将WebProject中的引用添加到库中
  6. 编译和运行 - >一切都好
  7. 将webproject发布到azure并收到此错误:

1> ------ Build build:项目:WebApplication23,配置:释放任何CPU ------
1> WebApplication23 - > C:*****\WebApplication23\WebApplication23\bin\Release \net452\win7 -x86\WebApplication23.exe
2> ------发布已启动:项目:WebApplication23,配置:释放任何CPU ------
构建中的所有构建提交必须使用源自同一项目集合的项目实例.
2>由于构建错误,发布失败.检查错误列表以获取更多详细信息.
==========构建:1成功,0失败,2最新,0跳过==========
==========发布:0成功,1失败,0跳过==========

如果我创建一个经典的桌面C#库而不是F#项目,它会成功部署

f# azure .net-core

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

使用动态将动作与字符串连接起来

我在C#中有以下代码:

Action a = new Action(() => Console.WriteLine());
dynamic d = a;
d += "???";
Console.WriteLine(d);
Run Code Online (Sandbox Code Playgroud)

而输出是

System.Action ???

如果你向d添加一个int而不是一个字符串,它会抛出一个异常.

你能解释一下为什么会这样吗?

c# c#-4.0

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

锚内的FontAwesome图标没有动画在chrome上

我正在尝试动画一个fontawesome图标,在一个范围内工作正常,但当我把图标放在一个锚点,它停止工作在Chrome上,在IE上它工作.

我正在使用FontAwesome 3.2.1,这是我的代码

HTML:

<a>
    <i class="icon-wrench rotator"></i> 
</a>
Run Code Online (Sandbox Code Playgroud)

CSS:

.rotator {
    display: inline-block;
    -webkit-animation: rotate 2.5s 4 ease;
    -webkit-transform-origin:90% 35%;
}

@-webkit-keyframes rotate {
    from {
        -webkit-transform: rotate(-12deg);
    }

    to {
        -webkit-transform: rotate(112deg);
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用FontAwesome 3.0.2并且它工作,当我升级到3.2.1它停止工作,至少在chrome上.

提前致谢

编辑 我在锚点内也有更多的html,我不希望它旋转,所以将'rotator'类添加到锚点不会这样做

编辑 这是实际的html(上面的例子是简化的):

<a href="#" class="dropdown-toggle" data-toggle="dropdown">
    <i class="icon-bell-alt icon-animated-bell icon-only"></i>
    <span class="badge badge-success">5</span>
</a>
Run Code Online (Sandbox Code Playgroud)

html css css-animations font-awesome

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

无法指定nuget包文件夹位置

我读过这个这个的NuGet文档.但我无法让它发挥作用.

这是我的配置:

我有一个"文件/新项目"控制台应用程序,我的项目文件夹是:

c:\ConsoleApplication1\ConsoleApplication1
    ... Program.cs and source files
c:\ConsoleApplication1\ConsoleApplication1.sln
c:\ConsoleApplication1\nuget.config
Run Code Online (Sandbox Code Playgroud)

我的nuget.config档案是:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="repositorypath" value="c:\blah" />
  </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

现在,当我安装或恢复软件包时,它们总是安装packages在项目文件夹中的文件夹中

我正在使用VisualStudio 2015 RC

nuget nuget-package-restore vs-2015-preview

5
推荐指数
0
解决办法
39
查看次数

if语句和"?/:"运算符之间的区别

我这里有这段代码.在case ServiceType.Register: 我看来有两个等效语句,一个使用常规if语句,一个使用三元运算符?/:.对于if语句VS报告没有错误.但是这条线:

IsXML == true ? PopulateRegister(ParseType.Xml) : PopulateRegister(ParseType.Str);

VS错误地说:

只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句

任何人都知道为什么常规if语句没有错误,但如果你使用"?/:"(一个班轮)引发错误?Pic也附上了.

switch (this.ServiceType)
{
    case SerivceType.Login:
        PopulateLogin();
        break;
    case SerivceType.Register:

        if (IsXML == true)
            PopulateRegister(ParseType.Xml);
        else
            PopulateRegister(ParseType.Str);

        IsXML == true ? PopulateRegister(ParseType.Xml) : PopulateRegister(ParseType.Str);

        break;
    case SerivceType.Verify:
        PopulateVerify();
        break;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

c# if-statement visual-studio-2012

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

ai用直线追逐玩家的算法?

我正在用libgdx(java)制作游戏,正方形追逐主要玩家.我无法弄清楚如何使方块以恒定速度直线移动到玩家.这意味着我希望广场每秒都行进相同的距离.我创建一个变量并将其设置为等于chasePattern1.saidvariable[0]被添加到敌人的x值,并被saidvariable[1]添加到敌人的y值.

private float[] chasePattern1(float enemy_x,float enemy_y,float speed){
    float[] returnvalue={0,0};

    if(enemy_x>mainsquare.getX()){
        returnvalue[0]=-1*speed;
    }
    if(enemy_x<mainsquare.getX()){
        returnvalue[0]=speed;///does float work?no
    }
    if(enemy_y>mousey){
        returnvalue[1]=-1*speed;
    }
    if(enemy_y<mousey){
        returnvalue[1]=speed;
    }
    return returnvalue;
}
Run Code Online (Sandbox Code Playgroud)

java algorithm path libgdx

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