我有一个项目,我最近升级到VS2010 - 项目/解决方案文件已更新,但我仍然以.NET 3.5为目标。
到目前为止,我的标准NAnt构建脚本没有给我任何麻烦。但是,似乎在更新项目后,updating the NAnt config要知道新工具,我现在在自动生成程序集信息时收到错误,这会导致构建失败。相关的构建任务如下:
<asminfo output="${dir.src}\${file.commonAssemblyInfo}" language="${project.codeLanguage}">
<imports>
<import namespace="System.Reflection" />
</imports>
<attributes>
<attribute type="AssemblyVersionAttribute" value="${project.fullversion}" />
<attribute type="AssemblyFileVersionAttribute" value="${project.fullversion}" />
<attribute type="AssemblyInformationalVersionAttribute" value="${project.fullversion}" />
<attribute type="AssemblyCopyrightAttribute" value="${assembly.copyright}" />
<attribute type="AssemblyCompanyAttribute" value="${assembly.company}" />
<attribute type="AssemblyConfigurationAttribute" value="${project.config}" />
<attribute type="AssemblyTrademarkAttribute" value="${assembly.trademark}" />
<attribute type="AssemblyProductAttribute" value="${assembly.product}" />
</attributes>
</asminfo>
asminfo
任务的第一行突出显示错误。它写着:
集信息文件 'C:\用户\格兰特\项目\ VisualStudio的\清单\ SRC \ CommonAssemblyInfo.cs' 无法生成。 此方法隐式使用CAS策略,该策略已被.NET Framework废弃。为了兼容性原因启用CAS策略,请使用NetFx40_LegacySecurityPolicy配置开关。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=155570。
到目前为止,我已经收集到这是.NET 4的新功能。有没有人必须在此之前解决此错误?有谁知道可能触发错误的asminfo
是什么?
答案 0 :(得分:1)
我相信我明白了。事实证明,框架的某些安全方面已经改变,新工具考虑了这些方面,但是旧版本的NAnt没有(使用0.85)。
我使用latest nightly from the NAnt site更新了我的NAnt(0.91是测试版,有.NET 4支持),重新构建我的版本,并且它有效。我不得不修复一个单独的问题,但构建现在正在运行。
答案 1 :(得分:0)
NAnt团队刚刚发布NAnt 0.91 Alpha 1,支持.NET 4.0(实验性)。请下载测试并向团队提供宝贵的反馈。
感谢。
答案 2 :(得分:0)
要忽略stylecop规则并进行修复,您可以在 *。csproj 文件中添加下一个设置:
<ExcludeFromStyleCop>true</ExcludeFromStyleCop>
像这样:
<Compile Include="Properties\AssemblyInfo.cs">
<ExcludeFromStyleCop>true</ExcludeFromStyleCop>
</Compile>