We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
PyNumero support on Windows
We need to make sure PyNumero installs/runs on Windows and make sure any extra installation steps are well documented. Some discussion on this was started in #1253. When this is resolved we also need to make sure to enable the tests currently being skipped on Windows.
PyNumero support on Windows
We need to make sure PyNumero installs/runs on Windows and make sure any extra installation steps are well documented. Some discussion on this was started in #1253. When this is resolved we also need to make sure to enable the tests currently being skipped on Windows.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `pyomo/contrib/pynumero/extensions/utils.py`
Content:
```
1 #  ___________________________________________________________________________
2 #
3 #  Pyomo: Python Optimization Modeling Objects
4 #  Copyright 2017 National Technology and Engineering Solutions of Sandia, LLC
5 #  Under the terms of Contract DE-NA0003525 with National Technology and
6 #  Engineering Solutions of Sandia, LLC, the U.S. Government retains certain
7 #  rights in this software.
8 #  This software is distributed under the 3-clause BSD License.
9 #  ___________________________________________________________________________
10 from ctypes.util import find_library
11 import sys
12 import os
13 
14 
15 def find_pynumero_library(library_name):
16 
17     asl_path = find_library(library_name)
18     if asl_path is not None:
19         return asl_path
20     else:
21         # try looking into extensions directory now
22         file_path = os.path.abspath(__file__)
23         dir_path = os.path.dirname(file_path)
24 
25         if os.name in ['nt', 'dos']:
26             libname = 'lib/Windows/lib{}.dll'.format(library_name)
27         elif sys.platform in ['darwin']:
28             libname = 'lib/Darwin/lib{}.dylib'.format(library_name)
29         else:
30             libname = 'lib/Linux/lib{}.so'.format(library_name)
31 
32         asl_lib_path = os.path.join(dir_path, libname)
33 
34         if os.path.exists(asl_lib_path):
35             return asl_lib_path
36     return None
37 
38 
39 def found_pynumero_libraries():
40 
41     p1 = find_pynumero_library('pynumero_ASL')
42     p2 = find_pynumero_library('pynumero_SPARSE')
43 
44     if p1 is not None and p2 is not None:
45         return True
46     return False
47
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/pyomo/contrib/pynumero/extensions/utils.py b/pyomo/contrib/pynumero/extensions/utils.py
--- a/pyomo/contrib/pynumero/extensions/utils.py
+++ b/pyomo/contrib/pynumero/extensions/utils.py
@@ -14,9 +14,14 @@
 
 def find_pynumero_library(library_name):
 
-    asl_path = find_library(library_name)
-    if asl_path is not None:
-        return asl_path
+    lib_path = find_library(library_name)
+    if lib_path is not None:
+        return lib_path
+
+    # On windows the library is prefixed with 'lib'
+    lib_path = find_library('lib'+library_name)
+    if lib_path is not None:
+        return lib_path
     else:
         # try looking into extensions directory now
         file_path = os.path.abspath(__file__)
@@ -29,10 +34,10 @@
         else:
             libname = 'lib/Linux/lib{}.so'.format(library_name)
 
-        asl_lib_path = os.path.join(dir_path, libname)
+        lib_path = os.path.join(dir_path, libname)
 
-        if os.path.exists(asl_lib_path):
-            return asl_lib_path
+        if os.path.exists(lib_path):
+            return lib_path
     return None

{"golden_diff": "diff --git a/pyomo/contrib/pynumero/extensions/utils.py b/pyomo/contrib/pynumero/extensions/utils.py\n--- a/pyomo/contrib/pynumero/extensions/utils.py\n+++ b/pyomo/contrib/pynumero/extensions/utils.py\n@@ -14,9 +14,14 @@\n \n def find_pynumero_library(library_name):\n \n-    asl_path = find_library(library_name)\n-    if asl_path is not None:\n-        return asl_path\n+    lib_path = find_library(library_name)\n+    if lib_path is not None:\n+        return lib_path\n+\n+    # On windows the library is prefixed with 'lib'\n+    lib_path = find_library('lib'+library_name)\n+    if lib_path is not None:\n+        return lib_path\n     else:\n         # try looking into extensions directory now\n         file_path = os.path.abspath(__file__)\n@@ -29,10 +34,10 @@\n         else:\n             libname = 'lib/Linux/lib{}.so'.format(library_name)\n \n-        asl_lib_path = os.path.join(dir_path, libname)\n+        lib_path = os.path.join(dir_path, libname)\n \n-        if os.path.exists(asl_lib_path):\n-            return asl_lib_path\n+        if os.path.exists(lib_path):\n+            return lib_path\n     return None\n", "issue": "PyNumero support on Windows\nWe need to make sure PyNumero installs/runs on Windows and make sure any extra installation steps are well documented. Some discussion on this was started in #1253. When this is resolved we also need to make sure to enable the tests currently being skipped on Windows.\nPyNumero support on Windows\nWe need to make sure PyNumero installs/runs on Windows and make sure any extra installation steps are well documented. Some discussion on this was started in #1253. When this is resolved we also need to make sure to enable the tests currently being skipped on Windows.\n", "before_files": [{"content": "#  ___________________________________________________________________________\n#\n#  Pyomo: Python Optimization Modeling Objects\n#  Copyright 2017 National Technology and Engineering Solutions of Sandia, LLC\n#  Under the terms of Contract DE-NA0003525 with National Technology and\n#  Engineering Solutions of Sandia, LLC, the U.S. Government retains certain\n#  rights in this software.\n#  This software is distributed under the 3-clause BSD License.\n#  ___________________________________________________________________________\nfrom ctypes.util import find_library\nimport sys\nimport os\n\n\ndef find_pynumero_library(library_name):\n\n    asl_path = find_library(library_name)\n    if asl_path is not None:\n        return asl_path\n    else:\n        # try looking into extensions directory now\n        file_path = os.path.abspath(__file__)\n        dir_path = os.path.dirname(file_path)\n\n        if os.name in ['nt', 'dos']:\n            libname = 'lib/Windows/lib{}.dll'.format(library_name)\n        elif sys.platform in ['darwin']:\n            libname = 'lib/Darwin/lib{}.dylib'.format(library_name)\n        else:\n            libname = 'lib/Linux/lib{}.so'.format(library_name)\n\n        asl_lib_path = os.path.join(dir_path, libname)\n\n        if os.path.exists(asl_lib_path):\n            return asl_lib_path\n    return None\n\n\ndef found_pynumero_libraries():\n\n    p1 = find_pynumero_library('pynumero_ASL')\n    p2 = find_pynumero_library('pynumero_SPARSE')\n\n    if p1 is not None and p2 is not None:\n        return True\n    return False\n", "path": "pyomo/contrib/pynumero/extensions/utils.py"}], "after_files": [{"content": "#  ___________________________________________________________________________\n#\n#  Pyomo: Python Optimization Modeling Objects\n#  Copyright 2017 National Technology and Engineering Solutions of Sandia, LLC\n#  Under the terms of Contract DE-NA0003525 with National Technology and\n#  Engineering Solutions of Sandia, LLC, the U.S. Government retains certain\n#  rights in this software.\n#  This software is distributed under the 3-clause BSD License.\n#  ___________________________________________________________________________\nfrom ctypes.util import find_library\nimport sys\nimport os\n\n\ndef find_pynumero_library(library_name):\n\n    lib_path = find_library(library_name)\n    if lib_path is not None:\n        return lib_path\n\n    # On windows the library is prefixed with 'lib'\n    lib_path = find_library('lib'+library_name)\n    if lib_path is not None:\n        return lib_path\n    else:\n        # try looking into extensions directory now\n        file_path = os.path.abspath(__file__)\n        dir_path = os.path.dirname(file_path)\n\n        if os.name in ['nt', 'dos']:\n            libname = 'lib/Windows/lib{}.dll'.format(library_name)\n        elif sys.platform in ['darwin']:\n            libname = 'lib/Darwin/lib{}.dylib'.format(library_name)\n        else:\n            libname = 'lib/Linux/lib{}.so'.format(library_name)\n\n        lib_path = os.path.join(dir_path, libname)\n\n        if os.path.exists(lib_path):\n            return lib_path\n    return None\n\n\ndef found_pynumero_libraries():\n\n    p1 = find_pynumero_library('pynumero_ASL')\n    p2 = find_pynumero_library('pynumero_SPARSE')\n\n    if p1 is not None and p2 is not None:\n        return True\n    return False\n", "path": "pyomo/contrib/pynumero/extensions/utils.py"}]}