我正在使用 Windows 11 开发 Maui 应用程序,然后我降级到 Windows 10。现在出现此错误。**\'错误(活动)NETSDK1005 资产文件'D:\Csharp\Maui\IdealDiagnosis.Maui\
我正在使用 Windows 11 开发 Maui 应用程序,然后我降级到 Windows 10。现在出现此错误。**\'错误(活动)NETSDK1005 资产文件'D:\Csharp\Maui\IdealDiagnosis.Maui\IdealDiagnosis\obj\project.assets.json' 没有'net8.0-android' 的目标。确保恢复已运行并且您已在项目的 TargetFrameworks 中包含'net8.0-android'。
IdealDiagnosis (net8.0-android) C:\Program Files\dotnet\sdk\8.0.303\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266\' **
项目文件中添加的包
就像在这张 图片 image2 ,我还注意到项目属性文件中有 2 个应用程序选项,第一个选项包括其他 maui 项目中的 win 32 选项 mot
这里
我尝试手动删除软件包的行然后再次添加它们,尝试删除 bin 和 obj 文件夹,尝试重新加载项目,但仍然出现相同的错误
这个错误是不是因为我更换了电脑的 Windows 版本
我注意到,如果我删除除 Windows 之外的软件包的第一行,然后运行该应用程序,该应用程序仅在 Windows 机器上正常运行
正如评论中指出的那样,您没有用引号括住参数。
而且,真的不需要尝试创建您自己的参数列表(密钥对),因为 ADO.NET SQL 命令对象已经为您预先构建了这样一个集合。
请记住,当使用 MS Access 数据引擎时,参数的顺序很重要,并且必须与它们在查询中出现的顺序相匹配。
所以这:
string sSQL =
@"SELECT DISTINCT Catalogue.Type
FROM (CableProperty
INNER JOIN Catalogue ON CableProperty.CatalogueId = Catalogue.Id)
WHERE (Catalogue.Core = @core)
AND (Catalogue.[Size] = @sizee)
AND (CableProperty.ProjectId = @projectId)
AND (CableProperty.CableApplicationId = @applicationId)";
OleDbCommand cmdSQL = new OleDbCommand(sSQL);
cmdSQL.Parameters.Add("@core", OleDbType.Integer).Value = 123;
cmdSQL.Parameters.Add("@sizee", OleDbType.VarWChar).Value = "big";
cmdSQL.Parameters.Add("@projectId", OleDbType.Integer).Value = 789;
cmdSQL.Parameters.Add("@applicationId", OleDbType.Integer).Value = 5555;
DataTable CatItems = General.MyRstP(cmdSQL);
那么,您在整个应用程序中都可以使用一个易于使用的“通用”例程吗?
我建议使用这个公共静态例程:
public static DataTable MyRstP(OleDbCommand cmd)
{
DataTable rstData = new DataTable();
using (OleDbConnection conn = new OleDbConnection(GetConStr()))
{
using (cmd)
{
cmd.Connection = conn;
try
{
conn.Open();
rstData.Load(cmd.ExecuteReader());
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
}
return rstData;
}
请注意,您甚至可以使用 \'?\' 作为 SQL 中的参数,因为正如我所指出的,在 Access 的情况下,参数名称实际上并不重要,只有添加参数的顺序才重要。
因此,我认为尝试创建自己的密钥对没有什么价值,因为如上所述,ADO.NET SQL 命令对象已经有这样的内置集合,更重要的是,您可以使用 OleDbType 对您进行强转换(自动)输入参数类型。
还要注意例程如何在 using 语句中包装连接对象,这也强烈建议正确处理与数据库的连接。