项目升级到VS2010后生成装配信息时出现NAnt错误

时间:2010-05-14 18:26:20

标签: .net visual-studio-2010 nant

我有一个项目,我最近升级到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是什么?

3 个答案:

答案 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>