小编jah*_*er1的帖子

FOP/ikvm:错误"未找到提供程序com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"

我用ikvm从fop-1.0生成了一个fop.dll:

ikvmc -target:library -reference:IKVM.OpenJDK.Core.dll -recurse:{myPathToJars}\*.jar -version:1.0 -out:{myPathToJars}\fop.dll


如果我在Windows应用程序中使用我的fop.dll,一切都很完美.
如果我在类库中使用它,我会收到以下错误:

"Provider com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl not found" at javax.xml.transform.TransformerFactory.newInstance()

代码行是:

TransformerFactory factory = TransformerFactory.newInstance();
这是方法的代码:

        public static void xmlToPDF(String xmlPath, String xslPath, SortedList arguments, String destPdfPath)
        {
            java.io.File xmlfile = new java.io.File(xmlPath);
            java.io.File pdffile = new java.io.File(destPdfPath);
            try
            {
                // configure fopFactory as desired
                FopFactory fopFactory = FopFactory.newInstance();

                FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
                // configure foUserAgent as desired

                // Setup output
                OutputStream outputStream = new java.io.FileOutputStream(pdffile);
                outputStream = new java.io.BufferedOutputStream(outputStream);

                try
                {
                    // Construct fop …

ikvm apache-fop

6
推荐指数
2
解决办法
4183
查看次数

访问新签名的第三方DLL会出错

我有一个使用第三方DLL的签名应用程序.这些DLL没有签名. - 到目前为止第一步没有问题:我刚刚签署了它们(使用ildasm.exe获取*.il,*.il中的publickeytoken,因为它们具有相互依赖关系,并使用ilasm.exe创建*.dll)

该项目现在编译良好,也启动.

但是在我的代码中,调用第三方DLL的类构造函数(或其他东西? - 这是我做的第一件事),我得到错误"强名称签名程序集必须在其中指定一个公钥InternalsVisibleTo声明"

如果你有DLL的源代码似乎没有问题,并且可以通过设置调整AssemblyInfo.cs

[assembly: InternalsVisibleTo("MyProject.Domain.Tests, PublicKey=..."]
Run Code Online (Sandbox Code Playgroud)

但是:如上所述,我有一个第三方DLL我没有源.所以没办法像这样解决问题.

有什么建议让这个运行?

.net dll strongname .net-assembly

4
推荐指数
1
解决办法
1654
查看次数

标签 统计

.net ×1

.net-assembly ×1

apache-fop ×1

dll ×1

ikvm ×1

strongname ×1