.net - 如何使用 dotnet.exe 和 MSBuild.Sdk.Extras 定位 sl5?
问题描述
这篇文章与如何为 sl5 目标框架构建 SDK 风格的项目有关?
所以我设法使用以下项目文件定位 sl5:
<Project Sdk="MSBuild.Sdk.Extras/2.1.2">
<PropertyGroup>
<TargetFrameworks>sl5</TargetFrameworks>
</PropertyGroup>
</Project>
但是,它仅适用于msbuild.exe
,而不适用于dotnet.exe
。根本原因是——dotnet.exe看不到定位Silverlight框架代码的注册表设置,因为它们只能在下面找到
HKLM\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Silverlight\v5.0\ReferenceAssemblies\SLRuntimeInstallPath
- msbuild.exe 看到它是因为它是一个 32 位进程 - C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe
- dotnet.exe 看不到它,因为它是一个 64 位进程 - C:\Program Files\dotnet\dotnet.exe
我希望无论如何都能使用dotnet.exe
。我看到两个选项:
- 在 dotnet.exe 可以看到它们的地方复制必要的键 - 一般来说,这似乎不是一个好的选择。
- 拥有我自己的临时构建代码,无论进程位数如何,都可以在 WOW6432Node 上进行搜索,并事先设置所需的构建属性。那应该满足构建。
我还缺少什么吗?让 dotnet.exe 查看 WOW6432Node 注册表的一些简单方法?
解决方案
推荐阅读
- codenameone - 如何使用mirah为来自多个包的类创建映射器?
- android - 用户可以上传图片,即个人资料图片 - 有哪些最佳做法?
- go - 调用 eq 时出错:Go 模板中的比较类型无效
- r - 按物种、地点和日期绘制的不同直方图
- compiler-construction - LLVM IR 嵌套 phi 指令
- julia - 如何在 julia-0.7 中丢失所有缺失向量的平均值?
- oracle - 从 XMLTYPE 解析多列
- javascript - Javascript 对象 - 将对象数组与一些经典对象合并
- java - 将多个字符串转换为一个
- node.js - 找不到socket.io/socket.io.js