引用外部程序集失败
Referencing external assembly fails
我无法引用私有程序集。我已经按照文档进行操作,但它仍然失败并显示错误消息:
2016-09-29T19:43:08.615 startup(2,1): error FS82: Could not resolve this reference. Could not locate the assembly "Backend.dll". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. (Code=MSB3245)
这是 run.fsx 文件:
#r "Backend.dll"
open System
open System.IO
open System.Net
open System.Net.Http.Headers
open System.Collections.Generic
open CoP
let createResponse json =
let responseJson = Request.handleJson json
let response = new HttpResponseMessage()
response.Content <- new StringContent(responseJson)
response.StatusCode <- HttpStatusCode.OK
response.Content.Headers.ContentType <- MediaTypeHeaderValue("application/json")
response
let Run (req: HttpRequestMessage) =
async {
let! json = req.Content.ReadAsStringAsync()
return createResponse json
} |> Async.StartAsTask
我还把 Backend.dll 放在函数所在文件夹内的 bin 文件夹中。
我错过了什么?
如果那只是一个关于 .fsx
脚本的问题,我会说你错过了告诉 FSI 在哪里寻找要引用的 dll 的部分:
#I "bin"
#r "BackEnd.dll"
Azure 是否将 .\bin
文件夹置于 #r
指令可访问的上下文中?
看起来您 运行 遇到了 Azure Functions F# 实现中私有程序集解析的错误。
我已打开此问题进行跟踪,并将在下一个版本中包含一个修复程序:
https://github.com/Azure/azure-webjobs-sdk-script/issues/733
与此同时,您应该能够使用以下方法引用您的私有程序集:
#r "bin/Backend.dll"
希望对您有所帮助!
我无法引用私有程序集。我已经按照文档进行操作,但它仍然失败并显示错误消息:
2016-09-29T19:43:08.615 startup(2,1): error FS82: Could not resolve this reference. Could not locate the assembly "Backend.dll". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. (Code=MSB3245)
这是 run.fsx 文件:
#r "Backend.dll"
open System
open System.IO
open System.Net
open System.Net.Http.Headers
open System.Collections.Generic
open CoP
let createResponse json =
let responseJson = Request.handleJson json
let response = new HttpResponseMessage()
response.Content <- new StringContent(responseJson)
response.StatusCode <- HttpStatusCode.OK
response.Content.Headers.ContentType <- MediaTypeHeaderValue("application/json")
response
let Run (req: HttpRequestMessage) =
async {
let! json = req.Content.ReadAsStringAsync()
return createResponse json
} |> Async.StartAsTask
我还把 Backend.dll 放在函数所在文件夹内的 bin 文件夹中。
我错过了什么?
如果那只是一个关于 .fsx
脚本的问题,我会说你错过了告诉 FSI 在哪里寻找要引用的 dll 的部分:
#I "bin"
#r "BackEnd.dll"
Azure 是否将 .\bin
文件夹置于 #r
指令可访问的上下文中?
看起来您 运行 遇到了 Azure Functions F# 实现中私有程序集解析的错误。 我已打开此问题进行跟踪,并将在下一个版本中包含一个修复程序: https://github.com/Azure/azure-webjobs-sdk-script/issues/733
与此同时,您应该能够使用以下方法引用您的私有程序集:
#r "bin/Backend.dll"
希望对您有所帮助!