Windows Phone 7:构建netmodule和dll

时间:2011-03-15 15:37:23

标签: dll windows-phone-7 .net-assembly

在我的Windows Phone 7项目中,我尝试将模块中的源文件分开。

这是我正在做的事情:

我使用命令行从源代码构建一个netmodule:

"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\csc.exe" /out:log.netmodule /t:module /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE /nostdlib /noconfig /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\mscorlib.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\system.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\System.Net.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\System.Windows.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\System.Xml.dll"; CLog.cs

然后我用netmodule输入构建一个DLL:

"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\csc.exe" /out:tools.dll /t:library /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE /nostdlib /noconfig /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\mscorlib.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\system.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\System.Net.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\System.Windows.dll";"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone\System.Xml.dll"; /addmodule:log.netmodule AssemblyInfo.cs

但是当我在我的windows phone 7引用中添加我的dll“tools.dll”时,我收到此错误:

Reference cannot be added [...] because it was not built using the windows phone runtime. windows phone project will work only with windows phone assemblies.

我不明白这个错误,因为我在构建命令行中只使用了Windows Phone引用。

一个有趣的信息:如果我不构建netmodule,但是dll“log.dll”(第一个命令行),那么我可以在我的windows phone项目中添加log.dll引用。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在编译netmodule时,有一个错误的引用指向:

"C:\Program Files (x86)\Reference Adll";

同样适用于第二个DLL。首先尝试纠正。