Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用新的.csproj格式的.NET Compact Framework 3.5的多目标?_C#_.net_Msbuild_Csproj_.net Cf 3.5 - Fatal编程技术网

C# 使用新的.csproj格式的.NET Compact Framework 3.5的多目标?

C# 使用新的.csproj格式的.NET Compact Framework 3.5的多目标?,c#,.net,msbuild,csproj,.net-cf-3.5,C#,.net,Msbuild,Csproj,.net Cf 3.5,有没有办法将.NET Compact Framework 3.5作为新的.csproj文件格式的目标?我希望能够针对以下框架: netstandard2.0;netstandard1.0;net45;net40;net35;net35 cf 到目前为止,我所做的就是基于此——具体而言,我做了以下工作: 已安装.NET CF 3.5和电动玩具 将$(MSBuildBinPath)替换为C:\Windows\Microsoft.NET\Framework\v3.5文件中的C:\Windows\Mi

有没有办法将.NET Compact Framework 3.5作为新的
.csproj
文件格式的目标?我希望能够针对以下框架:

netstandard2.0;netstandard1.0;net45;net40;net35;net35 cf
到目前为止,我所做的就是基于此——具体而言,我做了以下工作:

  • 已安装.NET CF 3.5和电动玩具
  • $(MSBuildBinPath)
    替换为
    C:\Windows\Microsoft.NET\Framework\v3.5
    文件中的
    C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.CompactFramework.CSharp.targets
  • 从中复制了所有文件
    • C:\ProgramFiles(x86)\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE
    • C:\ProgramFiles(x86)\Reference Assembly\Microsoft\Framework\.NETFramework\v3.5\Profile\CompactFramework
  • 在上述文件夹中创建了包含以下内容的文件
    RedistList\FrameworkList.xml

    
    

  • 添加了注册表项HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,版本=v3.5,配置文件=CompactFramework(只需注册表项,无值)

  • 创建新项目,设置
    TargetFrameworks
    ,并为
    net35 cf
    添加条件属性组:
  • 
    .NETFramework
    v3.5
    紧凑框架
    NET35_CF;WindowsCE
    真的
    真的
    真的
    512
    关
    E2BECB1F-8C8C-41ba-B736-9BE7D946A398
    
    但是,当我尝试编译代码时,会收到以下错误消息:

    一般编译似乎正在工作,但是
    AssemblyFileVersionAttribute
    不是紧凑框架的一部分

    更新1:当删除
    net35 cf
    TFM时,该项目编译得很好


    提前谢谢你的帮助

    通过在
    .csproj
    文件中指定,可以禁用生成
    AssemblyFileVersionAttribute
    AssemblyVersionAttribute

    <PropertyGroup "'$(TargetFramework)' == 'net35-cf'">
        <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
        <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
    </PropertyGroup>
    
    
    假的
    假的
    

    参考资料:

    如果删除它,它会编译吗?是的。将使用此信息更新问题。因此。。。这里有什么问题?只需删除该属性,然后处理它。问题是:如何使用新的csproj格式将.NET Compact Framework 3.5作为目标,正如问题的标题和第一句所述。如果我删除了
    net35 cf
    TFM,那么我就不会针对这个特定的框架。哦,你搞错了,对不起。我的意思是“如果您删除
    AssemblyFileVersionAttribute
    ,它会编译吗?”非常感谢您的帮助-应用
    false
    帮了我的忙。