Scriptable Object bug ?

Hi guys, here is my script :

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using UnityEngine;

[CreateAssetMenu (menuName = ("ItemAsset"))]
public abstract class ItemAsset : ScriptableObject {
	public String Name;
	public Texture2D Icon;
	public ItemPrefab Prefab;
	public Int32 Cost;
	public Int32 DurabilityMax;
	public abstract Boolean CanStackInInventory { get; }

	public Item CreateNewItem() {
		Item item;

		item = Create();
		item.Id = Guid.NewGuid();

		Debug.Assert(item.Asset != null);
		Debug.Assert(item.Data != null);

		return item;
	}

	protected abstract Item Create();
}

I can’t create the object using the create menu, I get an error "the classe needs to derive from Scriptable Object… -_-

I’m running Unity perso 5.4
Any idea ?!

Abstract. Why? Why is the class abstract? You don’t really use abstract with MonoBehaviours, so you shouldn’t with ScriptableObjects.