bar*_*iro 3 msbuild build .net-core .net-standard
我有一个具有多框架目标的项目<TargetFrameworks>netstandard2.0;net471</TargetFrameworks>-.
我想分别为netframework和构建解决方案netstandard。
目前我使用这个 MSBuild 命令:
MSBuild MySln.sln /t:Build /p:Configuration=Release /p:Platform="Any CPU" /m /nr:False
我尝试运行这个命令:
MSBuild CxAudit.sln /t:Build /p:Configuration=Release /p:Platform="Any CPU" /p:TargetFramework=netstandard2.0 /m /nr:False
(与/p:TargetFramework=netstandard2.0)
但它失败了,即使第一个命令通过并构建输出netstandard。
我建议设置自定义属性并对这些属性进行调节。这样,您就不会影响其他项目或参考:
<TargetFrameworks Condition="'$(BuildNetStdOnly)' == 'true'">netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="'$(BuildNetFxOnly)' == 'true'">net471</TargetFrameworks>
<TargetFrameworks Condition="'$(TargetFrameworks)' == ''">netstandard2.0;net471</TargetFrameworks>
Run Code Online (Sandbox Code Playgroud)
这样你就可以使用构建
msbuild -p:BuildNetStdOnly=true -p:Configuration=Release -m -nr:false
msbuild -p:BuildNetFxOnly=true -p:Configuration=Release -m -nr:false
Run Code Online (Sandbox Code Playgroud)
请注意,这只是设置复数版本,因为TargetFramework如果为两个目标框架恢复了项目,则需要将其设置为内部构建的全局属性才能工作。如果要设置 single TargetFramework,还需要通过将-restore参数传递给 msbuild 来再次恢复每次调用。
| 归档时间: |
|
| 查看次数: |
2155 次 |
| 最近记录: |