2016-12-17 39 views
0

每次我試圖從我的非asp.net核心項目添加引用到任何dll文件到我新的asp.net核心項目,我收到此錯誤信息:如何引用到在asp.net核心項目外部的dll文件

.NET核心項目僅支持在此版本中引用.NET框架程序集。要引用 其他程序集,它們需要包含在NuGet程序包和 引用該程序包中。

這裏應該發生的呢?有一種特殊的方式來做到這一點?接縫處有我丟失的東西在這裏它比所有以前的asp.net版本

回答

1

截至目前不同的,你不能直接添加完整的.NET框架DLL到ASP.NET核心項目(netcoreapp1.0)。你將不得不創建NuGet包。

如果是項目特定的DLL,然後創建本地NuGet包。這些是我們在生成NuGet程序包時所遵循的步驟 -

1.下載Nuget.exe並將其放在文件夾中,其中.csproj文件存在。

2.Open cmd,然後鍵入的NuGet規範。帶有.nuspec擴展名的文件將被創建。

3.Open創建的文件,並添加標籤:

<files> <file src="..\..\SomeRoot\**\*.*" target="libs\net461" /> </files> 

4.Execute的NuGet包在cmd中A.csproj -IncludeReferencedProjects。帶有.nupkg擴展名的文件被創建。

5.轉到視覺工作室。在NuGet程序包管理器設置中,添加「程序包源代碼」並提供您的文件存在.nupkg.nuspec的路徑。

6.關閉NuGet包管理器,然後再次打開它。現在,您可以在瀏覽選項卡下的創建包中找到它。

注意:您的.nuspec文件應該是這樣的:

<?xml version="1.0"?> 
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 
    <id>ABC.XYZ.FL</id> 
    <version>1.0.0.0</version> 
    <title>ABC.XYZ.FL</title> 
    <authors>ABC</authors> 
    <owners>ABC</owners> 
    <requireLicenseAcceptance>false</requireLicenseAcceptance> 
    <description>Framework that will be used to create objects in XYZ world</description> 
    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes> 
    <copyright>2016</copyright> 
    <tags>ABC.XYZ.FL</tags> 
    </metadata> 
    <files> 
    <file src="bin\Debug\*.dll" target="lib\net461" /> 
    </files> 
</package> 

以下鏈接包含有關創建NuGet包並在本地託管它的詳細信息:

https://docs.nuget.org/create/creating-and-publishing-a-package

https://docs.nuget.org/create/hosting-your-own-nuget-feeds

https://docs.nuget.org/consume/nuget-config-file

看看這是否有幫助。

+0

感謝您的回答。 Where's .. \ .. \ SomeRoot \ ** \ *。* ??? –

+1

@ShortlyFD它只是一個項目根的例子。請參閱我答案的示例底部。 '' – Sanket

相關問題