在命令提示符下编译 .Net Framework 项目给出 CS0006 而 Visual Studio 中没有错误,为啥?

Posted

技术标签:

【中文标题】在命令提示符下编译 .Net Framework 项目给出 CS0006 而 Visual Studio 中没有错误,为啥?【英文标题】:Compiling .Net Framework Project at command prompt give CS0006 while there is not error in Visual Studio, why?在命令提示符下编译 .Net Framework 项目给出 CS0006 而 Visual Studio 中没有错误,为什么? 【发布时间】:2022-01-07 14:01:39 【问题描述】:

在命令提示符下编译.Net Framework项目给出CS0006,而Visual Studio中没有错误,为什么?

我尝试编译:

dotnet 构建 devenv /build

尝试编译解决方案或最终的 .csproj。

在编译之前使用或不使用“dotnet restore”。

在所有情况下它总是给我错误“CS0006”。

错误:(感谢:TheGeneral 在 cmets 中添加该信息)

CS0006:找不到元数据文件“dll_name”。该程序已编译并 显式传递包含元数据的文件的名称;但是,.dll 没有找到。

【问题讨论】:

对于那些不知道这个错误是什么的人“找不到元数据文件'dll_name'。程序已编译并显式传递了包含元数据的文件的名称;但是, .dll 未找到。更多信息" - docs.microsoft.com/en-us/dotnet/csharp/language-reference/… 【参考方案1】:

经过许多小时和多次反复试验,我终于找到了方法:

dotnet restore --force-evaluate
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv" /build Debug Solution.sln

如果它对你有用,请告诉我们 ;-) !!!

【讨论】:

以上是关于在命令提示符下编译 .Net Framework 项目给出 CS0006 而 Visual Studio 中没有错误,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 java 文件中包含 jar 文件并在命令提示符下编译

如何在命令提示符下编译运行含有Package的java文件

Windows下编译Libevent

linux下编译sqlite3

Windows下编译Mongoose的hello.c

windows(msvc)下编译boost库