首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Puppeteer Sharp库无法工作,也未在web服务(Wcf)项目中创建页面

Puppeteer Sharp库无法工作,也未在web服务(Wcf)项目中创建页面
EN

Stack Overflow用户
提问于 2019-09-12 23:30:51
回答 2查看 1K关注 0票数 2

我有一些C#网络服务(WCF)的代码,并使用puppeteer-sharp库。首先,应该创建页面并将相关方法放在名为SayfaOlustur()的下面。然而,我遇到了System.IO.FileLoadException异常行LaunchOptions。

这段代码可以在我的本地机器和TestProject(在TestClass中使用TestMethods )上运行,但是在发布之后,整个代码页都没有创建,并抛出了System.IO.FileLoadException和System.Value异常。

项目引用和bin文件夹中包含的System.Value.dll。

代码语言:javascript
复制
public static async Task<Page> SayfaOlusturAsync()
    {
        Browser browser = null;
        try
        {
            var filePath = ConfigurationManager.AppSettings["PuppeterSharpBrowserFetcherLocalChromium"].ToString();
            var browserFetcher = new BrowserFetcher(new BrowserFetcherOptions
            {
                Path = string.IsNullOrEmpty(filePath) ? @"C:\PuppeteerSharpLocalChromium" : filePath
            });
            await browserFetcher.DownloadAsync(BrowserFetcher.DefaultRevision);
            var options = new LaunchOptions
            {
                Headless = true,
                ExecutablePath = @"C:\PuppeteerSharpLocalChromium\Win64-674921\chrome-win\chrome.exe"
            };
            browser = await Puppeteer.LaunchAsync(options);
        }
        catch (Exception ex)
        {
            HelperUtils.CmsLogger.Error(ex, "SayfaOlusturAsync");
        }

        return await browser.NewPageAsync();
    }

预期结果是使用Chronumium创建页面

异常详细信息

System.IO.FileLoadException:‘未能加载文件或程序集"System.ValueTuple,Version=0.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51“或其依赖项之一。

EN

回答 2

Stack Overflow用户

发布于 2019-09-13 01:10:39

.NET 4.7中添加了System.ValueTuple。将您的项目升级到4.7将是最简单的。

如果不能,但您的项目的目标是4.5+版本,但低于4.7,那么您可以安装System.ValueTuple NuGet包。如果您在那里遇到任何麻烦,请参阅this answer

票数 0
EN

Stack Overflow用户

发布于 2019-09-16 20:05:18

我用这些步骤解决了这个问题。评估了所有解决方案。

1-)我升级了.NET框架4.7作为目标版本。

2-)我将这段代码(属性组)添加到项目的.csproj文件中

<PropertyGroup> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType> </PropertyGroup>

3-)然后将这段代码添加到项目的应用程序或web配置文件中。

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> </dependentAssembly> </assemblyBinding> </runtime>

4-)然后构建了这个项目,它起作用了。

PS。为了安装和使用PuppeteerSharp,框架的版本至少为4.6.1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57910073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档