Bev*_*van 14 msbuild continuous-integration visual-studio-2010
我正在尝试为持续集成设置一些构建脚本,我发现了一些奇怪的东西.
我的解决方案从Visual Studio 2010编译得很好,但是当我使用MSBuild从命令行构建完全相同的东西时失败并出现错误.
这是我从命令行构建中得到的错误.
C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.WinFX.targets(269,9):
错误MC1000:未知的生成错误,
'无法解析对程序集的依赖性'Microsoft.Windows.Design.Extensibility,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'因为它尚未预加载.使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件按需预加载或加载相关的程序集.
[C:\ Dev\Market Watch\src\Console\MarketWatch.Console\Rbnz.MarketWatch.Console.csproj]
我已经检查了所有源代码的参考资料Microsoft.Windows.Design.Extensibility,但根本没有找到任何参考资料.我还检查了我们从这个项目中引用的所有二进制文件,包括一些DevExpress库.
我的MSBuild命令行如下所示:
MsBuild.exe c:\Dev\MarketWatch\src\Capture\Capture.sln
/t:rebuild
/verbosity:quiet
/filelogger
/fileloggerparameters:LogFile=c:\Dev\MarketWatch\build\Logs\capture.msbuild.log
Run Code Online (Sandbox Code Playgroud)
我是否应该在MsBuild命令行中包含一些内容,以使命令行构建与Visual Studio运行的相同?
更新14/4
Kev*_*sse 40
我希望你解决了这个问题,但供将来参考:
我遇到了同样的问题,它来自DevExpress'.design'程序集.实际上你不应该引用你项目中的那些.删除对以'.design'结尾的DevExpress程序集的所有引用,它应该可以工作.
您应该初始化路径以查找程序集、工具等。在调用 msbuild 之前调用vcvarsall.bat:
call "%ProgramFiles%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x64
Run Code Online (Sandbox Code Playgroud)
或者打开 VS2010 命令行控制台并从中调用脚本。两个动作具有相同的效果。
编辑:我无法理解一件事 -谷歌对你的问题说你以错误的方式使用反射,并且这里描述了一种可能的解决方案。我对吗?
| 归档时间: |
|
| 查看次数: |
10419 次 |
| 最近记录: |