4

我创建了一个解决方案,其中包含我的所有项目,包括 Dotfuscator 项目和设置项目。某些 Dotfuscator 项目仅对某些程序集进行模糊处理,而不会影响它们的任何引用。从 Visual Studio 构建时,效果很好。但是,当我运行团队构建时,出现以下错误:

C:\Program Files\MSBuild\PreEmptive\Dotfuscator\4.0\PreEmptive.Dotfuscator.Targets(20,3): 错误:无法加载外部类型,因为找不到它的程序集:

外部程序集是被混淆的程序集的引用,但它不是混淆项目的一部分。

4

2 回答 2

3

引用的程序集不一定是 Dotfuscator 项目的一部分,但它确实需要可供 Dotfuscator 读取。我怀疑引用的程序集与工作站上的输入程序集位于同一目录中、工作站路径中或 GAC 中。引用的程序集可能不在您的构建服务器上(或 Dotfuscator 无法定位)。您可以提供用户定义的程序集加载路径,Dotfuscator 在尝试解析引用的程序集时将在其中额外查找。

构建服务器上需要引用的程序集,Dotfuscator 才能成功混淆,最好的方法是确保引用的程序集与输入程序集位于同一目录中,或者使用用户定义的程序集加载路径。

此外,在版本 4.5.1200 中,您可以首先搜索用户定义的程序集加载路径,而不是默认最后搜索它们。

于 2009-07-26T21:09:41.470 回答
0

C:\Program Files\MSBuild\PreEmptive\Dotfuscator\4.0\PreEmptive.Dotfuscator.Targets

此程序集必须与您的构建代理机器位于同一台服务器上。

简单来说,假设TFSServer是您的数据层机器名称(包含源文件)以及构建机器,那么 dotfuscator 目标文件需要访问它。

只需在 **TFSServer机器上安装 dotfuscator,它就可以访问路径以及相关的目标文件。**

于 2010-06-10T15:32:37.980 回答