在本文中,我们将详细介绍VisualStudio2019无法识别web.config中的命名空间的各个方面,并为您提供关于visual不能识别include的相关解答,同时,我们也将为您带来关于ASP
在本文中,我们将详细介绍Visual Studio 2019 无法识别 web.config 中的命名空间的各个方面,并为您提供关于visual不能识别include的相关解答,同时,我们也将为您带来关于ASP.NET jQuery 错误:未知 Web 方法和无法使用 Visual Studio 2019 调试 aspx Web 表单应用程序、c# – Visual Studio:’使用名称空间’无法识别、C++中的命名空间、CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常的有用知识。
本文目录一览:- Visual Studio 2019 无法识别 web.config 中的命名空间(visual不能识别include)
- ASP.NET jQuery 错误:未知 Web 方法和无法使用 Visual Studio 2019 调试 aspx Web 表单应用程序
- c# – Visual Studio:’使用名称空间’无法识别
- C++中的命名空间
- CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常
Visual Studio 2019 无法识别 web.config 中的命名空间(visual不能识别include)
如何解决Visual Studio 2019 无法识别 web.config 中的命名空间
我最近安装了 Visual Studio 2019。我还安装了 VS2015。我的应用程序和 DLL 项目在 VS2019 中运行良好。当我尝试在 VS2019 中打开我的网站项目时,纺车旋转了很长时间。它还用红色波浪线标记了我所有的类和函数引用,表示它们没有定义,尽管 VS2015 没有任何变化。网站项目在 VS2015 中打开并编译正常。我没有使用任何类型的源代码管理,并且我已经在 VS2019 中关闭了该设置。
有什么尝试的建议吗?我已验证我使用的是最新版本的 VS2019 (16.8.3)。
谢谢!
ASP.NET jQuery 错误:未知 Web 方法和无法使用 Visual Studio 2019 调试 aspx Web 表单应用程序
如何解决ASP.NET jQuery 错误:未知 Web 方法和无法使用 Visual Studio 2019 调试 aspx Web 表单应用程序
我有一个来自客户端的简单 ajax 调用: 这是在TestPage.aspx
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Web.Services" %>
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<Meta charset="utf-8" />
<title>Piece Of Cake </title>
<link rel="stylesheet" type="text/css" href="../css/navigation.css">
<link rel="stylesheet" type="text/css" href="../css/form.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
<script type="text/javascript" src="../javascript/validateForm.js"></script>
<script type="text/javascript" src="../javascript/effects.js"></script>
<script>
$(document).ready(function () {
$.ajax({
type: "POST",url: "TestPage/GetName/",contentType: "application/json; charset=utf-8;",dataType: "json",success: function (response) {
alert("success")
},failure: function (response) {
alert("failure")
},error: ErrorOccur
});
});
function ErrorOccur(data,status,req) {
alert("error:"+req.responseText + " " + status);
}
</script>
</head>
现在在 TestPage.aspx.cs 文件中:
namespace Foo.html
{
public partial class TestPage : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
var t = 0;
}
[WebMethod]
public static string GetName()
{
var chk = new check
{
subject = "hello! ",description = "13 Years Old"
};
return JsonConvert.SerializeObject(chk);
}
public class check
{
public string subject { get; set; }
public string description { get; set; }
}
}
}
我可以在应用程序中调试 cs 文件,例如“RouteConfig.cs”。
但看起来我在调试 Web 表单部分时遇到了问题。
当我在 GetName 和 Page_Load 方法中设置断点后尝试调试应用程序时,调试器永远不会到达它们。应用程序正在运行,但我不断收到 ajax 错误,内容为:
error:undefined parsererror
我使用的是 IIS express(VS 自带的)
所有调试都在 web.config 中设置:
<compilation debug="true" targetFramework="4.7.2" />
为什么我无法调试应用程序?
为什么它永远不会到达 GetName 方法?
更新
我更改了 javascript 错误回调,现在我收到错误:
unkNown web method GetName
解决方法
一个带有 .NET Framework 4.7.2
的简单示例,ASPX 页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MasterLess.aspx.cs" Inherits="WebForms_DDL_Selection.MasterLess" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<script src=''<%= ResolveUrl("~/Scripts/jquery-3.4.1.min.js") %>'' type="text/javascript"></script>
<form id="form1" runat="server">
<div>
</div>
</form>
<script type="text/javascript">
$(document).ready(function () {
var name = ''kipi'';
jQuery.ajax({
url: ''<%= ResolveUrl("MasterLess.aspx/GetName") %>'',type: "POST",dataType: "json",data: "{''name'': ''" + name + "''}",contentType: "application/json; charset=utf-8",success: function (data) {
alert(data.d);
}
});
});
</script>
</body>
</html>
以及 CS 背后的代码:
protected void Page_Load(object sender,EventArgs e)
{
}
[WebMethod]
public static string GetName(string name)
{
return "Hey there " + name;
}
如果出现 401 错误,则需要在 ~/App_Start/RouteConfig.cs
(或注释掉的行)中进行修改:
settings.AutoRedirectMode = RedirectMode.Off;
c# – Visual Studio:’使用名称空间’无法识别
using PageObjectModel.PageObjects.Maintenance;
和
var SettlementAccountReconciliations = new SettlementAccountReconciliation(_driver);
SettlementAccountReconciliation位于Maintenance目录中.这是我的测试类的完整代码,它不喜欢该目录:
using NLog.Internal; using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using PageObjectModel.ControlObjects; using PageObjectModel.PageObjects; using PageObjectModel.PageObjects.Process; using PageObjectModel.PageObjects.Status; using System; using PageObjectModel.PageObjects.Maintenance; // **LINE WITH MAINTENANCE UNDERLINED** namespace PageObjectModel.Tests.TaskTesting { [TestFixture] class JiraTaskTesting { private IWebDriver _driver; [OneTimeSetUp] public void SetUp() { _driver = new ChromeDriver(); DriverContext.Driver = _driver; _driver.Manage().Window.Maximize(); var ConfigManager = new ConfigurationManager(); var Login = new Login(_driver); Login.SignIn(ConfigManager.AppSettings["Username"],ConfigManager.AppSettings["Password"]); } [Test] public void ReportNameStandardizationSettlementAccountReconciliations() { // **LINE WITH UNDERLINE** var SettlementAccountReconciliations = new SettlementAccountReconciliation(_driver); var Utilities = new Utilities(_driver); var ReportPopup = SettlementAccountReconciliations.ExportReconciliationReport(); ReportPopup.StartDate.SetValue(DateTime.Now.ToString("MM/dd/yyyy")); ReportPopup.EndDate.SetValue(DateTime.Now.ToString("MM/dd/yyyy")); ReportPopup.ExportButton.Click(); Assert.IsTrue(Utilities.ValidateFilePresent("Settlement Account Reconciliation")); Utilities.DeleteFile("Settlement Account Reconciliation"); }
此外,还有维护命名空间中的SettlementAccountReconciliation:
using OpenQA.Selenium; using OpenQA.Selenium.Support.PageObjects; using OpenQA.Selenium.Support.UI; using System; namespace PageObjectModel.PageObjects.Maintenance { public class SettlementAccountReconciliation { private readonly IWebDriver _driver; public SettlementAccountReconciliation(IWebDriver driver) { _driver = driver; PageFactory.InitElements(driver,this); var Utilities = new Utilities(driver); string TradingUrl = Utilities.RefactorUrl("/SettlementAccountReconciliation"); driver.Navigate().GoToUrl(TradingUrl); webdriverwait Wait = new webdriverwait(driver,TimeSpan.FromSeconds(10)); try { Wait.Until(ExpectedConditions.ElementExists(By.XPath("//a[text()='Settlement Account Reconciliations']"))); Console.WriteLine("SettlementAccountReconciliation Page Label Found"); } catch { Console.WriteLine("SettlementAccountReconciliation Page Label Not Found,timing out"); } }
这是我的指令测试类中显示的图像:
对于SettlementAccountReconciliation构造函数:
我拥有Page Object Model格式的所有代码,这就是我的文件结构的排列方式:
我知道这个问题很长,但要继续,测试运行得很好,解决方案就像魅力一样.我只需要弄清楚如何让文本编辑器不要认为我的代码存在问题.
Visual Studio告诉我“类型或命名空间名称’维护’在命名空间PageObjectModel.PageObjects’中不存在”,但确实如此.
任何有关这方面的帮助将不胜感激.
编辑:
我修好了它.
我不知道它为什么有效,但确实如此.
我所做的只是将Maintenance文件夹重命名为Maintenance1,重新创建了Maintenance文件夹,并将SettlementAccountReconciliation类拖放到Maintenance文件夹中.
我猜测在Timbuktu的某个临时文件夹中存储了一些随机属性或设置,这些文件存储在创建新文件夹时重置或删除的现有文件夹中.
感谢所有花时间帮助我的人!
解决方法
C++中的命名空间
C++中的命名空间
在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突, 使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,Namespace关键字的出现就是针对这种问题的。
1、命名空间定义
namespace Namespace
{
// 内容
}
相同命名空间可以分割在不同的文件中,编译器最后都会合成在一个命名空间下。
namespace Namespace
{
int iTest3;
int iTest4;
}
命名空间可以嵌套
namespace Namespace1
{
int iTest0;
int iTest1;
namespace Namespace2
{
int iTest1;
int iTest3;
int iTest4;
}
}
没有名称的命名空间
namespace
{}
说明:
本质上讲,一个命名空间就定义了一个范围,在命名空间中定义的任何东西都局限于该命名空间中。没有名称的命名空间可以创建只在声明它的文件中才可见的标识符。也就是说,只有在声明这个命名空间的文件中,它的成员才是可见的,它的成员才可以被直接访问,不需要命名空间名称来修饰。对于其他文件,该命名空间是不可见的。把全局名称的作用域限制在声明他的文件中的一种方式就是把它的声明为静态的,尽管C++支持全局静态,但最好的方式还是使用未命名的空间。
2、使用方式
【命名空间内直接使用】
namespace NamespaceTest
{
int iTest0;
int iTest1;
int iTest2;
void TestNamespace()
{
iTest0 = 10;
iTest1 = 20;
}
}
【命名空间名称限制】
void TestNamespace()
{
Namespace::iTest0 = 10;
Namespace::iTest1 = 20;
}
【导入命名空间】
using namespace Namespace;
void TestNamespace()
{
iTest0 = 10;
iTest1 = 20;
}
【使用谁引入谁】
using Namespace::iTest0;
using Namespace::iTest1;
void TestNamespace()
{
iTest0 = 10;
iTest1 = 20;
}
访问命名空间里的变量和函数有两种方式: 定义命名空间:
namespace NamespaceTest
{
int iTest0;
int iTest1;
int iTest2;
void TestNamespace()
{
iTest0 = 10;
iTest1 = 20;
}
}
第一种: 使用 using namespace 空间名 例如:
using namespace NamespaceTest;
int main()
{
iTest0 = 10;
iTest1 = 20;
cout <<"a = " <<iTest0 << endl;
cout <<"b = " <<iTest1 << endl;
return 0;
}
第二种:空间名::变量(函数) 例如:
int main()
{
NamespaceTest::iTest0 = 10;
NamespaceTest::iTest1 = 20;
cout << "a = " << NamespaceTest::iTest0 << endl;
cout << "b = " << NamespaceTest::iTest1 << endl;
return 0;
}
CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常
如果您想生成面向 Visual Studio 2017 平台工具集 (v141),但使用 Visual Studio 2019 作为生成器,您可以使用以下 CMake 生成命令
cmake -G "Visual Studio 16 2019" -T v141 ..
,
我认为这是一个不幸的命名案例。安装“VS 2017 C++ x64/x86 构建工具”只会安装编译器、链接器和标准库,而不是包括 MSBuild 在内的整个“Visual Studio Build Tools 2017”。但是您需要后者才能使用“Visual Studio 15 2017”生成器。您可以在 https://aka.ms/vs/15/release/vs_buildtools.exe
找到 2017 构建工具的安装程序我们今天的关于Visual Studio 2019 无法识别 web.config 中的命名空间和visual不能识别include的分享已经告一段落,感谢您的关注,如果您想了解更多关于ASP.NET jQuery 错误:未知 Web 方法和无法使用 Visual Studio 2019 调试 aspx Web 表单应用程序、c# – Visual Studio:’使用名称空间’无法识别、C++中的命名空间、CMake 无法找到 Visual Studio 15 2017 生成器的实例,但在 Visual Studio 16 2019 中工作正常的相关信息,请在本站查询。
本文标签: