我们正在使用 CodeFluent 的模板引擎在自定义 SharePoint 2013 应用程序中生成自定义电子邮件。SharePoint 2013 应用程序通常与 SharePoint 2016 向前兼容,但我们在尝试使用针对 SharePoint 2016 中针对 SharePoint 2013 编译的程序集时遇到了与 CodeFluent 相关的障碍。
在 SharePoint 2016 中调用 Template.Run(..) 时,我们收到以下错误(16.0.0.0 程序集与 SharePoint 2013 中的 15.0.0.0 程序集):
CF7010:使用语言“CSharp”的 CodeFluent 模板 '' 异常:c:\windows\system32\inetsrv> "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /t:library /utf8output /R :"C:\Windows\assembly\GAC_MSIL\CodeFluent.Model.Common\1.0.0.0__1bb6d7cccf1045ec\CodeFluent.Model.Common.dll" /R:"C:\Windows\assembly\GAC_MSIL\CodeFluent.Runtime\1.0.0.0 __1bb6d7cccf1045ec\CodeFluent.Runtime.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\ Windows\assembly\GAC_MSIL\CodeFluent.Runtime\1.0.0.0__1bb6d7cccf1045ec\CodeFluent.Runtime.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System. dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\RLSoft.XtraShare.BusinessLayer\v4.0_3.0.0.0__ee2f606d34db8cb1\RLSoft.XtraShare.BusinessLayer.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_64\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll" / R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.SharePoint\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.dll" /out:"C:\Users\SvcSpAppPool\AppData\Local\Temp \CFTemplating.Temp4.0.30319.42000\70804\CF_00000000001456124944.null.dll" /D:DEBUG /debug+ /optimize-Temp4.0.30319.42000\70804\CF_00000000001456124944.null.dll" /D:DEBUG /debug+ /optimize-Temp4.0.30319.42000\70804\CF_00000000001456124944.null.dll" /D:DEBUG /debug+ /optimize-/warnaserror "C:\Users\SvcSpAppPool\AppData\Local\Temp\CFTemplating.Temp4.0.30319.42000\70804\CF_00000000001456124944.null.cs" Microsoft (R) Visual C# 编译器版本 4.6.0081.0 for Microsoft (R) .NET框架 4.5 版权所有 (C) Microsoft Corporation。版权所有。c:\Windows\Microsoft.NET\assembly\GAC_MSIL\RLSoft.XtraShare.BusinessLayer\v4.0_3.0.0.0__ee2f606d34db8cb1\RLSoft.XtraShare.BusinessLayer.dll:错误CS1701:警告为错误:假设程序集引用 'Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' 匹配 'Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c',您可能需要提供运行时策略 c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.dll。
问题似乎源于 CodeFluent 显然使用 /warnaserror 标志调用 csc.exe 编译器这一事实。有没有办法自定义这种行为,使警告不被视为错误?
我们尝试在 csc.exe.config 和 SharePoint Web 应用程序的 web.config 文件中使用 bindingRedirect 条目,但无济于事。
以前有人遇到过这个问题,如果是这样,您是如何解决的?