开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 2918|回复: 3

源代码编译工具SourceBuilderTool104 的源代码

[复制链接]

0

精华

0

贡献

5

赞扬

帖子
31
软币
242
在线时间
23 小时
注册时间
2016-4-5
发表于 2017-4-7 14:45:43 | 显示全部楼层 |阅读模式
本帖最后由 ty_tang 于 2017-4-9 00:31 编辑

使用此工具可以跳出部分编译器路径限制,编译net 版本限制。本人用它可以使用VS2015 编译net4.6 的版本。
本版第一次发帖,说的不清楚见谅。
编译15.2.9时发现很麻烦,写MSbuild脚本又很费事。发现有SourceBuilderTool104,但是使用起来老是出错。此外没找到帮助。
不爽之下,反编译源码,调试一下之后可以编译。给大家分享一下经验。

如果各位无法编译注意以下几点。由于每个人需求和环境不同,建议大家进行修改。

注意以下事项:
1)
默认注册表中应该有Software\DevExpress\DXperience
或者Software\DevExpress\Components
(GetDXVersionsInstalled()函数中可以看到)
2)
默认源代码路径应该是%(devexpressroot)\Components\Sources\
参见 FillDXVersionsTable(RegistryKey key)函数
建议直接自己定义以下几个变量。就不管这个默认路径了
Version = str,
RootFolder = str2,
SourceFolder = str3
3) 默认编译器是VS2010,使用VS 2015 需要注意修改配置。但是其他winform的没有问题直接编译能过。
4) 源代码中默认 MSbuild 版本似乎是12.0
可以看到部分关于wpf之类类库编译有问题,主要是因为源代码的工程中有 ,其实完全可以修改
   <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '12.0' ">
    <VisualStudioVersion>12.0</Visualstudioversion>

导致VS2015编译环境下找不到路径
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />

5)其他有些类库的无法编译 MVC 强名字 之类的参见其他帖子
https://www.devexpress.com/Support/Center/Question/Details/A609
https://documentation.devexpress.com/#eXpressAppFramework/CustomDocument112832

DevExpress.Key下面的strong name  替换的很多了。是否需要替换我的确没有注意。反正拿来源代码就覆盖了。后续可以告诉我是否需要这一步。
参见
http://blog.csdn.net/appetizer/article/details/50663356

6) StartBuildingProcess()
内部的 this.DeleteToolboxItems();
应该可以注释,没有什么用。我只是调试这里特别慢,觉得没有用。
直接注释。没有查原因。

7)注意,编译测试结束后,建议直接执行sourcebuild 。否则在VS 下难免加载devexpress 旧版本,clear gac时无法清除旧版本。
8)如果编译时提示找不到devexpress 库。自己检查版本和publicKey 是否一致
如果这样说吗清理gac时没有清理干净。
9)如果使用.net 4.5 编译,建议自行setting 中的版本。同时修改源代码工程的配置。

我觉得这个程序有点写的太死,如果不安装,那么部分编译过不去。
安装了,在部分清除dll时有时出上面的错误。

注意一点,key 编译工具可以自动生成,但是代码中配置的snk路径不完全一致,有的就在source 目录。有的配置的路径在source 的上两级目录下。
例如
可以拷贝 DevExpress.Key 目录到相应目录即可,也可以修改AssemblyInfo.cs 内部
[assembly: AssemblyKeyFile(@"..\..\..\..\Devexpress.Key\StrongKey.snk")]

细看编译工具不是很方便,的确有写的较死板的地方。感觉还不太完善。
但是修改它似乎比自己写更容易些。

其实看来也是瞎折腾。分享给大家,权作为一乐。如果有加分最好,谢谢版主!



Sourcebuilder.rar

32.5 KB, 下载次数: 72

Sourcebuilder 源代码

评分

参与人数 5赞扬 +5 收起 理由
markchen + 1 赞一个
ywnwa417ywnwa41 + 1 很给力
cn_yjp + 1 感谢分享
baronage + 1 很给力
sinodetect + 1 很给力

查看全部评分

回复

使用道具 举报

0

精华

0

贡献

5

赞扬

帖子
31
软币
242
在线时间
23 小时
注册时间
2016-4-5
 楼主| 发表于 2017-4-7 22:14:27 | 显示全部楼层
本帖最后由 ty_tang 于 2017-4-7 22:40 编辑

怎么设置回复可见?给个赞扬也行啊。
回复

使用道具 举报

0

精华

518

贡献

356

赞扬

正版授权组

Rank: 14Rank: 14Rank: 14Rank: 14

帖子
213
软币
7131
在线时间
1173 小时
注册时间
2013-6-9
发表于 2017-4-8 10:30:15 | 显示全部楼层
vs2017 下可以编译成功吗
回复

使用道具 举报

0

精华

0

贡献

5

赞扬

帖子
31
软币
242
在线时间
23 小时
注册时间
2016-4-5
 楼主| 发表于 2017-4-8 10:41:10 | 显示全部楼层
panyijun 发表于 2017-4-8 10:30
vs2017 下可以编译成功吗

没有测,只测了vs2015可以。
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-5-6 08:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表