I have an MVC 6 (vNext/ASP.NET 5) project, with one class library for the DAL(Data Access Layer). Now I am getting an exception because NHibernate can't find the mapping file for an entity I am trying to persist. I have seen strict instructions to mark this XML mapping file as an embedded resource and not to copy to output, but in none of the three property pages I manage to open for this file, is there anywhere to stipulate this.
I am simply going to move to code-based fluent mapping, but this issue isn't unique to my one NHibernate mapping file. The old property page for project items, available by right click in Solution Explorer, is simply gone. I am hoping that if such a thing as an embedded resource still exists, it is somewhere else, like project.json
, that we must specify this.
UPDATE
My previous answer is no longer valid (since RC2), the resource
is now marked as deprecated. (Thanks @Yossarian)
Proper way how to do this is now to use buildOptions/embed
:
...
"buildOptions": {
"emitEntryPoint": true,
"embed": [ "9NLiZmx.png" ]
},
...
You must use the section resource in project.json, like this
{
"compile": "*.cs",
"resource": [
"mapping.xml"
]
}
By default all code files in a directory containing a project.json are included in the project. You can control this with the include/exclude sections of the project.json.
Most sections of the project.json file that deal with files allow glob patterns, which are often called wildcards.
name default value
===============================================
compile
compileExclude
content **/*
contentExclude
preprocess compiler/preprocess/**/*.cs
preprocessExclude
resource compiler/preprocess/resources/**/*
resourceExclude
shared compiler/shared/**/*.cs
sharedExclude
publishExclude bin/**;obj/**;**/.*/**
exclude
More info: http://docs.asp.net/en/latest/dnx/projects.html#including-excluding-files
using System;
using System.Reflection;
namespace ConsoleApp1
{
public class Program
{
public static void Main(string[] args)
{
var assemblyName = new AssemblyName("ConsoleApp1");
var resources = string.Join(Environment.NewLine, Assembly.Load(assemblyName).GetManifestResourceNames());
Console.WriteLine("List of Manifest Resource Names");
Console.WriteLine("======================");
Console.WriteLine(resources);
}
}
}
{
"version": "1.0.0-*",
"description": "ConsoleApp1 Console Application",
"authors": [ "Alberto Monteiro" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"compilationOptions": {
"emitEntryPoint": true
},
"resource": "9NLiZmx.png",
"dependencies": {
},
"commands": {
"ConsoleApp1": "ConsoleApp1"
},
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Console": "4.0.0-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Threading": "4.0.11-beta-23516",
"System.IO": "4.0.11-beta-23516",
"System.IO.FileSystem": "4.0.1-beta-23225",
"System.Reflection": "4.1.0-beta-23516"
}
}
}
}
List of Manifest Resource Names
======================
ConsoleApp1.9NLiZmx.png