【问题标题】:Compilation errors when updating a referenced .net 4.5.2 project in asp.net mvc core app在 asp.net mvc 核心应用程序中更新引用的 .net 4.5.2 项目时出现编译错误
【发布时间】:2016-12-16 22:55:41
【问题描述】:

我目前有一个常规的 4.5.2 项目,它有一个类(假设是带有方法的 MyClass)

public static void Do(string name, List<Operation> operations)
        {
            //do some stuff
        }

在我的 ASP.NET Core MVC 应用程序中

MyClass.Do(User.Identity.Name, operations);

当我尝试构建这个项目时,我收到一个错误 CS1501,Do 没有重载需要 2 个参数。

我最近更新了 Do 以添加字符串名称参数。事实上,我对 .net 4.5.2 程序集所做的任何更改都会反映在 Visual Studio 中,都内置到程序集中,但是当我构建(或清理/构建,或删除 bin 文件夹)时,这些更改会导致编译错误。

我还尝试从 asp.net 核心项目中删除该项目作为参考。

什么可能导致 asp.net mvc 卡在旧定义上?

更新 关闭/重新打开后,我注意到我的 dll(我引用的项目)的路径不正确 project.fragment.lock.json。

我不知道这个文件是什么,但它指向的是 bin/Debug/my.dll 而不是 bin/x64/Debug/my.dll。

如果我尝试手动更改它,它会在下一次构建期间更新为不正确的值。

【问题讨论】:

    标签: c# .net asp.net-core-mvc .net-core


    【解决方案1】:

    我在 ASP.NET Core 中也遇到了一些奇怪的问题。在某些情况下,构建似乎可以运行而不会产生任何错误,但它实际上从未构建项目。因此,您实际上可能正在运行旧代码,即使它的行为就像您重建它一样。

    当我遇到这个问题时,通常会追溯到 project.json 中的引用问题。看看那里是否有任何“曲线”。有时在我关闭 Visual Studio 并重新打开项目之前,它们不会出现。

    【讨论】:

    • 尝试关闭并重新打开,但没有帮助,但确实改变了正在发生的事情。我已经发布了更新的问题。
    • 我相信该文件本质上是所有引用的列表,包括那些构成框架本身的引用,即使它们没有在 project.json 中直接引用。在我看来,这也与我的问题有关,但问题不是文件本身。如果我没记错的话,我必须调整 netcoreapp 的依赖项。如果您可以发布您的 project.json,它可能会提供一些进一步的线索。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 2015-09-11
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    相关资源
    最近更新 更多