在IIS Express中运行asp.net使用NETStandard2.0 dll

时间:2017-11-09 12:09:28

标签: asp.net iis-express .net-standard

我如何(如果)在asp.net中使用NETStandard2.0 dll?

我有一个应该使用NETStandard2.0(Roslyn编译器)的asp.net 4.5 Web应用程序

FWIU我将无法在4.5上运行它,我应该首先升级到4.6.1(很好,它不适合我们的生产服务器)
但这还不够我应该安装NetCore2.0 SDK。 好。

现在我创建一个NETStandard2.0项目,引用nuget Microsoft.CodeAnalysis.Csharp。

Web应用程序编译得很好,但在运行时它失败了,缺少dll Microsoft.CodeAnalysis.Csharp.dll版本2.4。

看起来是因为NETStandard2.0不会将nuget中的lib导出到/ bin输出。

解决方案似乎是添加

  

< CopyLocalLockFileAssemblies>真< / CopyLocalLockFileAssemblies>

到csproj。

当我这样做时,csproj不再有效(Project下的CopyLocalLockFileAssemblies未知)

我需要什么 A)在我的NETStandard2.0项目的/ bin中获取所有需要的nuget dll 或
B)使IIS表达足够聪明,以获得我的磁盘上某处()的nuget dll。

<子> 我在多长时间内使用NETStandard2.0 dll获得正在运行的Web应用程序? 为什么这么令人沮丧? 是不是nuget和NETStandard2.0应该可以缓解开发的生命? 为什么我必须从互联网上挖掘所有信息,而不是在我的xxxx $ VS2017中?

1 个答案:

答案 0 :(得分:0)

该属性应位于属性组

<PropertyGroup>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup> 

现在有一个新的dll缺少System.ValueTuple,需要FW 4.7。大