根据Mapping the .NET Platform Standard to platforms .NET平台标准1.5必须与.NET Framework 4.6.2兼容。我试图使用它(创建新的.NET Platform Standard类库,然后是新的.Net Framework 4.6.2控制台应用程序),但是库无法识别。我做错了什么?
类库中的project.json:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027"
},
"frameworks": {
"netstandard1.5": {
"imports": "dnxcore50",
"buildOptions": { "embed": "true" }
}
}
}
答案 0 :(得分:1)
如果您获得了最新的.net核心RTM版本和Update 3 VS工具,那么事情比RC期间的小更好。仍然没有来自csproj引用xproj的简单项目引用 - 但是,你可以通过将xproj输出打包到nuget包中然后使用包管理器来安装该包来讨论。此外,您不应该需要框架上的导入,也不需要依赖netstandard.library,至少我不需要。以下是我的表现:
创建一个.cmd文件,它将打包nuget文件,然后将输出文件复制到包管理器所期望的文件夹中。这是脚本,我称之为makeNuget.cmd:
IF"%1" =="%2" (
dotnet pack --no-build --configuration%1 -o ../% 3
xcopy%4" ... \%3 \ lib \%5 \" / Y
)
在xproj的project.json中添加postbuild脚本以运行脚本
"脚本":{
"后编译":[
" makeNuget.cmd%compile:Configuration%Release packages \%project:Name %% compile:OutputDir %% compile:TargetFramework%"
]
}
这应该会在解决方案的根目录下的packages \ [projectName] \文件夹中留下一个nuget包,包中包含二进制文件\ [projectName] \ lib \ [targetFramwork] \ folder
AFAIK,现在和它一样好。
答案 1 :(得分:0)
你真的需要.Net Framework 4.6.2 app吗?
我刚刚创建了针对.NETStandard1.4的PCL(可移植类库),我可以在针对.NET Framework 4.6.1的WPF应用程序中使用它。 以下是我的project.json在PCL项目中的样子:
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.4": {}
}
}