gpt4 book ai didi

c# - 程序定义了多个入口点? CS0017 main() 有问题?

转载 作者:行者123 更新时间:2023-12-03 18:40:41 29 4
gpt4 key购买 nike

当我尝试在 Visual Studio 中运行下面的代码时,我收到以下错误:“程序定义了多个入口点。使用/main 编译以指定包含入口点的类型。”
我试过寻找其他入口点,但我对 c# 没有经验,并且遇到了麻烦。据我了解,一切都应该是正确的。

namespace Demos
{
using System;
using System.Drawing;
using Applitools;
using Applitools.Selenium;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

public class HelloWorld2
{
static string appName = "Hello World 2 App C#";

// change the value of testName so that it has a unique value on your Eyes system
static string testName = "Hello World 2 v1";

// if you have a dedicated Eyes server, set the value of the variable serverURLstr to your URL
static string serverURLstr = "https://eyesapi.applitools.com";

//set the value of runAsBatch to true so that the tests run as a single batch
static Boolean runAsBatch = true;

// set the value of changeTest to true to introduce changes that Eyes will detect as mismatches
static Boolean changeTest = true;

static string weburl = "https://applitools.com/helloworld2";

public static void Main(string[] args)
{
var eyes = new Eyes();
eyes.ServerUrl = serverURLstr;
setup(eyes);

var viewportSizeLandscape = new Size(/*width*/1024, /*height*/ 768);
var viewportSizePortrait = new Size(/*width*/500, /*height*/ 900);
IWebDriver innerDriver = new ChromeDriver();

if (!changeTest)
{
Test01(innerDriver, eyes, viewportSizeLandscape);
Test01Changed(innerDriver, eyes, viewportSizePortrait);
}
else
{
Test01Changed(innerDriver, eyes, viewportSizeLandscape);
Test01Changed(innerDriver, eyes, viewportSizePortrait);
}
innerDriver.Quit();
}


private static void Test01(IWebDriver innerDriver, Eyes eyes, Size viewportSize)
{
// Start the test and set the browser's viewport size
IWebDriver driver = eyes.Open(innerDriver, appName, testName, viewportSize);
try
{
driver.Url = weburl;
eyes.CheckWindow("Before enter name"); // Visual checkpoint 1

driver.FindElement(By.Id("name")).SendKeys("My Name"); //enter the name
eyes.CheckWindow("After enter name"); // Visual checkpoint 2

driver.FindElement(By.TagName("button")).Click(); // Click the button
eyes.CheckWindow("After Click"); // Visual checkpoint 3

Applitools.TestResults result = eyes.Close(false); //false means don't thow exception for failed tests
HandleResult(result);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
eyes.AbortIfNotClosed();
}
}


private static void HandleResult(TestResults result)
{
string resultStr;
string url = result.Url;
if (result == null)
{
resultStr = "Test aborted";
url = "undefined";
}
else
{
url = result.Url;
int totalSteps = result.Steps;
if (result.IsNew)
{
resultStr = "New Baseline Created: " + totalSteps + " steps";
}
else if (result.IsPassed)
{
resultStr = "All steps passed: " + totalSteps + " steps";
}
else
{
resultStr = "Test Failed : " + totalSteps + " steps";
resultStr += " matches=" + result.Matches; /* matched the baseline */
resultStr += " missing=" + result.Missing; /* missing in the test*/
resultStr += " mismatches=" + result.Mismatches; /* did not match the baseline */
}
}
resultStr += "\n" + "results at " + url;
Console.WriteLine(resultStr);
}

private static void Test01Changed(IWebDriver innerDriver, Eyes eyes, Size viewportSize)
{
// Start the test and set the browser's viewport size
IWebDriver driver = eyes.Open(innerDriver, appName, testName, viewportSize);
try
{
string webUrlToUse = weburl;
if (changeTest)
{
webUrlToUse += "?diff2";
}
driver.Url = webUrlToUse;
if (!changeTest)
{
eyes.CheckWindow("Before enter name"); // Visual checkpoint 1
}
driver.FindElement(By.Id("name")).SendKeys("My Name"); //enter the name
eyes.CheckWindow("After enter name"); // Visual checkpoint 2

driver.FindElement(By.TagName("button")).Click(); // Click the button
eyes.CheckWindow("After click"); // Visual checkpoint 3

if (changeTest)
{
eyes.CheckWindow("After click again"); // Visual checkpoint 3
}
TestResults result = eyes.Close(false); //false means don't thow exception for failed tests
HandleResult(result);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
eyes.AbortIfNotClosed();
}
}

private static void setup(Eyes eyes)
{
eyes.ApiKey = Environment.GetEnvironmentVariable("APPLITOOLS_API_KEY");
if (runAsBatch)
{
var batchInfo = new Applitools.BatchInfo("Hello World 2 Batch");
eyes.Batch = batchInfo;
}
//eliminate artifacts caused by a blinking cursor - on by default in latest SDK
eyes.IgnoreCaret = true;
}
}
}

最佳答案

尝试将其添加到您的 .csproj 项目文件中:

<PropertyGroup>
<GenerateProgramFile>false</GenerateProgramFile>
</PropertyGroup>

关于c# - 程序定义了多个入口点? CS0017 main() 有问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57294824/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com