ਸਥਾਨਕ ਤੌਰ 'ਤੇ Azure ਫੰਕਸ਼ਨ ਐਪਸ ਨੂੰ ਚਲਾਉਣ ਵੇਲੇ ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ
ਵਿਕਾਸ ਲਈ ਸਥਾਨਕ ਤੌਰ 'ਤੇ Azure ਫੰਕਸ਼ਨ ਐਪਸ ਨੂੰ ਚਲਾਉਣਾ ਜ਼ਰੂਰੀ ਹੈ, ਪਰ ਕਈ ਵਾਰ ਅਚਾਨਕ ਗਲਤੀਆਂ ਤੁਹਾਡੇ ਵਰਕਫਲੋ ਨੂੰ ਵਿਗਾੜ ਸਕਦੀਆਂ ਹਨ। ਇੱਕ ਆਮ ਮੁੱਦਾ ਡਿਵੈਲਪਰਾਂ ਦਾ ਸਾਹਮਣਾ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਉਹਨਾਂ ਦਾ ਪ੍ਰੋਜੈਕਟ ਸੰਸਕਰਣ Microsoft.NET.Sdk.Functions Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ ਦੁਆਰਾ ਲੋੜੀਂਦੇ ਸੰਸਕਰਣ ਨਾਲ ਸਿੰਕ ਤੋਂ ਬਾਹਰ ਹੈ।
ਹਾਲ ਹੀ ਵਿੱਚ, ਕਈਆਂ ਨੇ ਰਾਈਡਰ ਅਤੇ VS 2022 ਦੋਵਾਂ ਵਿੱਚ ਆਪਣੇ Azure ਫੰਕਸ਼ਨ ਐਪਸ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਖਾਸ ਗਲਤੀ ਦੀ ਰਿਪੋਰਟ ਕੀਤੀ ਹੈ। ਗਲਤੀ ਦੱਸਦੀ ਹੈ ਕਿ Microsoft.NET.Sdk.Functions ਦਾ ਸੰਸਕਰਣ 4.5.0 ਜਾਂ ਬਾਅਦ ਵਾਲਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਨਿਰਾਸ਼ਾ ਪੈਦਾ ਹੁੰਦੀ ਹੈ। ਡਿਵੈਲਪਰ ਪੁਰਾਣੇ ਸੰਸਕਰਣਾਂ 'ਤੇ ਫਸ ਗਏ ਹਨ।
NuGet ਦੁਆਰਾ ਵਰਜਨ 4.5.0 ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਤੋਂ ਬਾਅਦ ਵੀ, ਗਲਤੀ ਜਾਰੀ ਰਹਿ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਕੁਝ ਡਿਵੈਲਪਰਾਂ ਨੇ ਅਨੁਭਵ ਕੀਤਾ ਹੈ। ਇਸ ਨਾਲ ਹੋਰ ਉਲਝਣ ਪੈਦਾ ਹੋ ਸਕਦੀ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜੇਕਰ ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਪ੍ਰੋਜੈਕਟ ਸੰਸਕਰਣ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ ਹੈ, ਤਾਂ ਬਹੁਤ ਸਾਰੇ ਲੋਕਾਂ ਨੂੰ ਇਸ ਮੁੱਦੇ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਹੱਲ ਕਰਨ ਬਾਰੇ ਅਨਿਸ਼ਚਿਤਤਾ ਛੱਡ ਕੇ.
ਜੇਕਰ ਤੁਹਾਨੂੰ ਇਸ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਿਆ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਕੱਲੇ ਨਹੀਂ ਹੋ। ਹੇਠਾਂ, ਅਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕੁਝ ਵਿਹਾਰਕ ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਕਰਨ ਵਾਲੇ ਕਦਮਾਂ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ ਕਿ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਫੰਕਸ਼ਨ ਤੁਹਾਡੇ ਵਿਕਾਸ ਵਾਤਾਵਰਨ ਵਿੱਚ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਚੱਲ ਰਹੇ ਹਨ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.5.0" /> | ਇਹ ਕਮਾਂਡ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ Azure SDK ਫੰਕਸ਼ਨਾਂ ਦਾ ਸਹੀ ਸੰਸਕਰਣ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਖਾਸ ਤੌਰ 'ਤੇ, ਇਹ Microsoft.NET.Sdk.Functions ਪੈਕੇਜ ਦੇ ਸੰਸਕਰਣ 4.5.0 ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਨਵੀਨਤਮ Azure ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਨਾਲ ਅਨੁਕੂਲਤਾ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। |
<AzureFunctionsVersion>v4</AzureFunctionsVersion> | .csproj ਫਾਈਲ ਵਿੱਚ ਇਹ ਟੈਗ Azure ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਸੰਸਕਰਣ ਨੂੰ v4 'ਤੇ ਸੈੱਟ ਕਰਦਾ ਹੈ, ਜੋ ਅੱਪਡੇਟ ਕੀਤੇ ਟੂਲਾਂ ਲਈ ਲੋੜੀਂਦਾ ਹੈ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਐਪ ਵਿਕਾਸ ਅਤੇ ਉਤਪਾਦਨ ਦੋਵਾਂ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਸਹੀ ਸੰਸਕਰਣ ਚਲਾ ਰਿਹਾ ਹੈ। |
func --clear-cache | ਇਹ ਕਮਾਂਡ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ ਦੇ ਕੈਸ਼ ਨੂੰ ਸਾਫ਼ ਕਰਦੀ ਹੈ। ਇਹ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਦੇ ਸੰਸਕਰਣਾਂ ਦੇ ਵਿਚਕਾਰ ਸਵਿਚ ਕਰਨ ਵੇਲੇ ਜਾਂ ਜਦੋਂ ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਲਈ ਤਾਜ਼ਾ ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ ਹਨ ਤਾਂ ਵਿਵਾਦਾਂ ਜਾਂ ਪੁਰਾਣੇ ਡੇਟਾ ਨੂੰ ਹੱਲ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। |
npm install -g azure-functions-core-tools@4 --unsafe-perm true | ਇਹ ਕਮਾਂਡ npm ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਤੁਹਾਡੀ ਮਸ਼ੀਨ 'ਤੇ ਵਿਸ਼ਵ ਪੱਧਰ 'ਤੇ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ ਦਾ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਸਥਾਪਤ ਕਰਦੀ ਹੈ। ਇੰਸਟਾਲੇਸ਼ਨ ਦੌਰਾਨ ਅਨੁਮਤੀ ਦੀਆਂ ਗਲਤੀਆਂ ਤੋਂ ਬਚਣ ਲਈ "--ਅਸੁਰੱਖਿਅਤ-ਪਰਮ ਸੱਚ" ਫਲੈਗ ਦੀ ਕਈ ਵਾਰ ਲੋੜ ਹੁੰਦੀ ਹੈ। |
dotnet restore | ਇਹ ਕਮਾਂਡ ਪ੍ਰੋਜੈਕਟ ਦੀ ਨਿਰਭਰਤਾ ਨੂੰ ਬਹਾਲ ਕਰਦੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਕੋਈ ਵੀ NuGet ਪੈਕੇਜ ਜਿਵੇਂ ਕਿ Microsoft.NET.Sdk.Functions ਸ਼ਾਮਲ ਹਨ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਾਰੀਆਂ ਲੋੜੀਂਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਟੂਲ ਸਹੀ ਢੰਗ ਨਾਲ ਡਾਊਨਲੋਡ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ .csproj ਫਾਈਲ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਤੋਂ ਬਾਅਦ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਹਨ। |
dotnet clean | ਇਹ ਕਮਾਂਡ ਸਾਰੇ ਇੰਟਰਮੀਡੀਏਟ ਬਿਲਡ ਆਉਟਪੁੱਟ ਨੂੰ ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਾਫ਼ ਕਰਦੀ ਹੈ। ਇਹ ਖਾਸ ਤੌਰ 'ਤੇ ਉਦੋਂ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਬਿਲਡ ਮੁੱਦਿਆਂ ਨੂੰ ਡੀਬੱਗ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਾਂ ਜਦੋਂ SDK ਜਾਂ ਟੂਲਸ ਦੇ ਵੱਖ-ਵੱਖ ਸੰਸਕਰਣਾਂ ਵਿਚਕਾਰ ਸਵਿਚ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। |
dotnet build | ਇਹ ਕਮਾਂਡ Azure ਫੰਕਸ਼ਨ ਪ੍ਰੋਜੈਕਟ ਦੇ ਸਰੋਤ ਕੋਡ ਨੂੰ ਕੰਪਾਇਲ ਕਰਦੀ ਹੈ। ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਜਾਂ ਬਹਾਲ ਕਰਨ ਤੋਂ ਬਾਅਦ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਸਾਰੇ ਕੋਡ ਬਦਲਾਅ ਕੰਪਾਇਲ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ ਲਾਗੂ ਕਰਨ ਲਈ ਤਿਆਰ ਹਨ। |
func start | ਇਹ ਕਮਾਂਡ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ ਅਤੇ Azure ਫੰਕਸ਼ਨ ਐਪ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾਉਂਦੀ ਹੈ। ਇਹ ਡਿਵੈਲਪਰ ਨੂੰ ਕਲਾਉਡ 'ਤੇ ਤੈਨਾਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਥਾਨਕ ਵਾਤਾਵਰਣ ਵਿੱਚ ਫੰਕਸ਼ਨ ਐਪ ਦੀ ਜਾਂਚ ਅਤੇ ਡੀਬੱਗ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। |
Assert.IsType<OkObjectResult>(result) | ਯੂਨਿਟ ਟੈਸਟਾਂ ਵਿੱਚ ਇਹ ਲਾਈਨ ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਕੀ ਫੰਕਸ਼ਨ ਤੋਂ ਵਾਪਸ ਆਇਆ ਨਤੀਜਾ OkObjectResult ਕਿਸਮ ਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪ੍ਰਮਾਣਿਕਤਾ ਕਦਮ ਹੈ ਕਿ ਫੰਕਸ਼ਨ ਆਉਟਪੁੱਟ ਟੈਸਟਿੰਗ ਦੌਰਾਨ ਉਮੀਦ ਅਨੁਸਾਰ ਹਨ। |
Azure ਫੰਕਸ਼ਨ ਐਪ ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨਾ: ਸਕ੍ਰਿਪਟ ਬ੍ਰੇਕਡਾਊਨ
ਪਿਛਲੀਆਂ ਉਦਾਹਰਣਾਂ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਗਈਆਂ ਸਕ੍ਰਿਪਟਾਂ ਰਾਈਡਰ ਜਾਂ ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ 2022 ਵਿੱਚ ਸਥਾਨਕ ਤੌਰ 'ਤੇ Azure ਫੰਕਸ਼ਨ ਐਪ ਚਲਾਉਣ ਵੇਲੇ ਆਈਆਂ ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਕੰਮ ਕਰਦੀਆਂ ਹਨ। ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਉਦੋਂ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਜਦੋਂ Microsoft.NET.Sdk.Functions ਵਰਜਨ ਪੁਰਾਣਾ ਹੈ। ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਸੁਲਝਾਉਣ ਦੀ ਕੁੰਜੀ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਪ੍ਰੋਜੈਕਟ 4.5.0 ਜਾਂ ਇਸ ਤੋਂ ਬਾਅਦ ਦੇ ਸੰਸਕਰਣ ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਗਲਤੀ ਸੰਦੇਸ਼ ਦੁਆਰਾ ਦਰਸਾਇਆ ਗਿਆ ਹੈ। .csproj ਫਾਈਲ, ਜੋ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਦੀ ਸੰਰਚਨਾ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੀ ਹੈ, SDK ਦੇ ਸਹੀ ਸੰਸਕਰਣ ਅਤੇ Azure ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਵਿੱਚ ਇੱਕ ਮਹੱਤਵਪੂਰਣ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦੀ ਹੈ।
ਸਕ੍ਰਿਪਟਾਂ ਦੇ ਪਹਿਲੇ ਸੈੱਟ ਵਿੱਚ ਸੋਧ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ .csproj ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਇਹ Microsoft.NET.Sdk.Functions ਪੈਕੇਜ ਦੇ ਸਹੀ ਸੰਸਕਰਣ ਦਾ ਹਵਾਲਾ ਦਿੰਦੀ ਹੈ। ਸੰਸਕਰਣ ਨੂੰ 4.5.0 ਜਾਂ ਇਸਤੋਂ ਬਾਅਦ ਦੇ ਸੰਸਕਰਣ ਵਿੱਚ ਅੱਪਡੇਟ ਕਰਕੇ, ਤੁਸੀਂ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ ਲਈ ਲੋੜੀਂਦੇ ਰਨਟਾਈਮ ਸੰਸਕਰਣ ਨਾਲ ਆਪਣੇ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਅਲਾਈਨ ਕਰਦੇ ਹੋ। ਵਰਗੇ ਹੁਕਮ dotnet ਰੀਸਟੋਰ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ .csproj ਫਾਈਲ ਵਿੱਚ ਕੀਤੀਆਂ ਕੋਈ ਵੀ ਤਬਦੀਲੀਆਂ ਸਹੀ ਢੰਗ ਨਾਲ ਲਾਗੂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ, ਪਰੋਜੈਕਟ ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਚਲਾਉਣ ਲਈ ਲੋੜੀਂਦੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਅਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਬਹਾਲ ਕਰਕੇ। ਇਸ ਕਦਮ ਤੋਂ ਬਿਨਾਂ, ਤੁਹਾਡਾ ਪ੍ਰੋਜੈਕਟ ਅਜੇ ਵੀ ਪੁਰਾਣੇ ਸੰਦਰਭਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦਾ ਹੈ, ਨਤੀਜੇ ਵਜੋਂ ਰਨਟਾਈਮ ਸਮੱਸਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।
ਹੱਲ ਦਾ ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਤੱਤ ਕੈਚਾਂ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਸਾਰੇ ਟੂਲ ਅੱਪ ਟੂ ਡੇਟ ਹਨ। ਹੁਕਮ func --clear-cache ਉਹਨਾਂ ਸਥਿਤੀਆਂ ਵਿੱਚ ਉਪਯੋਗੀ ਹੈ ਜਿੱਥੇ ਸਥਾਨਕ ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਅਜੇ ਵੀ Azure ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਸੈਟਿੰਗਾਂ ਦੇ ਪੁਰਾਣੇ ਸੰਸਕਰਣਾਂ ਨੂੰ ਰੱਖਦਾ ਹੈ। ਕੈਸ਼ ਨੂੰ ਸਾਫ਼ ਕਰਕੇ, ਤੁਸੀਂ ਟੂਲਸ ਨੂੰ ਰੀਸੈਟ ਕਰਨ ਅਤੇ ਨਵੀਨਤਮ ਸੈਟਿੰਗਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਮਜ਼ਬੂਰ ਕਰਦੇ ਹੋ, ਜੋ ਹੋਰ ਵਿਵਾਦਾਂ ਨੂੰ ਰੋਕਦਾ ਹੈ। Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ ਦਾ npm-ਅਧਾਰਿਤ ਅਪਡੇਟ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਸਥਾਨਕ ਵਾਤਾਵਰਣ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਵਰਤ ਰਿਹਾ ਹੈ, ਤੁਹਾਡੀ ਫੰਕਸ਼ਨ ਐਪ ਨਾਲ ਅਨੁਕੂਲਤਾ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।
ਅੰਤ ਵਿੱਚ, xUnit ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਯੂਨਿਟ ਟੈਸਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਤੁਹਾਡੇ Azure ਫੰਕਸ਼ਨ ਲਈ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਇੱਕ ਵਾਧੂ ਪਰਤ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਟੈਸਟ ਨਾ ਸਿਰਫ਼ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਫੰਕਸ਼ਨ ਬਿਨਾਂ ਕਿਸੇ ਤਰੁੱਟੀ ਦੇ ਚੱਲਦਾ ਹੈ, ਸਗੋਂ ਇਹ ਵੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਆਉਟਪੁੱਟ ਉਮੀਦ ਅਨੁਸਾਰ ਹੈ। ਫੰਕਸ਼ਨ ਟੈਸਟ ਨਤੀਜੇ ਦੀ ਕਿਸਮ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਵਾਪਸ ਕੀਤਾ ਮੁੱਲ ਇੱਕ ਹੈ OkObject Result, ਜੋ ਸਫਲ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਇਹਨਾਂ ਟੈਸਟਾਂ ਨੂੰ ਲਿਖਣਾ ਇੱਕ ਵਧੀਆ ਅਭਿਆਸ ਹੈ ਜੋ ਤੁਹਾਡੇ Azure ਫੰਕਸ਼ਨ ਦੀ ਸਥਿਰਤਾ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ SDK ਜਾਂ ਰਨਟਾਈਮ ਸੰਸਕਰਣ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਅੱਪਡੇਟ ਕਰਦੇ ਹੋ।
ਹੱਲ 1: ਆਪਣੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ Microsoft.NET.Sdk.Functions ਦੇ ਸਹੀ ਸੰਸਕਰਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਓ
Azure ਫੰਕਸ਼ਨ ਐਪ ਕੌਂਫਿਗਰੇਸ਼ਨ ਲਈ .NET ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ C# ਬੈਕਐਂਡ ਪਹੁੰਚ
// First, ensure that you have the correct version of Microsoft.NET.Sdk.Functions
// in your .csproj file. Check and modify the version number if necessary.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.5.0" />
</ItemGroup>
</Project>
// After updating the .csproj file, make sure to restore your dependencies.
// You can do this by running the following command in your terminal:
dotnet restore
// Once restored, try running your Azure Function App locally again:
func start
// Ensure you have the latest Azure Functions Core Tools installed:
npm install -g azure-functions-core-tools@4 --unsafe-perm true
ਹੱਲ 2: ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਵਿੱਚ Azure ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਦੀ ਪੁਸ਼ਟੀ ਅਤੇ ਅੱਪਡੇਟ ਕਰਨਾ
ਪ੍ਰੋਜੈਕਟ ਕੌਂਫਿਗਰੇਸ਼ਨ ਲਈ ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਸੈਟਿੰਗਾਂ ਦਾ ਲਾਭ ਲੈਣ ਵਾਲਾ C# ਹੱਲ
// In Visual Studio, go to the project properties to ensure that the runtime version
// matches the required version for Azure Functions.
// Open the Properties window and navigate to the 'Application' tab.
// Ensure that the Target Framework is set to .NET 6.0 or later:
<TargetFramework>net6.0</TargetFramework>
// Now, check if the Azure Functions version is correctly set in the .csproj file.
// You can manually set the Functions version as follows:
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
// Apply changes and run the project to see if the issue is resolved.
// Finally, clear the Azure Functions tools cache if the problem persists:
func --clear-cache
// Restart Visual Studio after clearing the cache.
ਹੱਲ 3: ਰਾਈਡਰ (JetBrains) ਅਤੇ ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਕੋਡ ਲਈ ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਫਿਕਸ
ਅਜ਼ੂਰ ਕੋਰ ਟੂਲਸ ਦੇ ਨਾਲ ਰਾਈਡਰ IDE ਅਤੇ ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਹੱਲ
// In JetBrains Rider or VS Code, ensure you are using the correct Azure Functions Core Tools version.
// First, check your installed Azure Functions Core Tools version:
func --version
// If it is outdated, update to the latest version:
npm install -g azure-functions-core-tools@4
// If you are using Rider, ensure your project references the latest .NET SDK:
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.5.0" />
// Clean and rebuild the project:
dotnet clean
dotnet build
// Finally, test the function app locally again to ensure it is working properly:
func start
// If any errors persist, ensure that the function app settings in the IDE match the required configurations.
ਹੱਲ 4: Azure ਫੰਕਸ਼ਨ ਐਪਸ ਲਈ ਯੂਨਿਟ ਟੈਸਟ ਸ਼ਾਮਲ ਕਰਨਾ
Azure ਫੰਕਸ਼ਨ ਐਪਸ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ xUnit ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਪਹੁੰਚ
// To ensure the changes work correctly, write unit tests for your Azure Function Apps.
// Add a new xUnit test project to your solution and reference the function project.
using Xunit;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
public class FunctionTests
{
[Fact]
public void TestFunctionReturnValue()
{
// Arrange
var logger = new Mock<ILogger>();
// Act
var result = await Function.Run("test-input", logger.Object);
// Assert
Assert.IsType<OkObjectResult>(result);
Assert.Equal("ExpectedValue", ((OkObjectResult)result).Value);
}
}
Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ ਅਤੇ SDK ਸੰਸਕਰਣਾਂ ਨਾਲ ਅਨੁਕੂਲਤਾ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਅਜ਼ੂਰ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾਉਣ ਦਾ ਇੱਕ ਅਕਸਰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਗਿਆ ਪਹਿਲੂ ਨਾ ਸਿਰਫ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਰਿਹਾ ਹੈ Microsoft.NET.Sdk.Functions ਸੰਸਕਰਣ ਪਰ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲ ਅਤੇ .NET ਰਨਟਾਈਮ ਵੀ। ਸੰਸਕਰਣ ਦੇ ਟਕਰਾਅ ਤੋਂ ਬਚਣ ਲਈ ਇਹਨਾਂ ਤਿੰਨਾਂ ਹਿੱਸਿਆਂ ਨੂੰ ਇਕਸੁਰਤਾ ਵਿੱਚ ਕੰਮ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ .NET ਰਨਟਾਈਮ ਦੇ ਪੁਰਾਣੇ ਸੰਸਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਭਾਵੇਂ ਤੁਹਾਡੇ SDK ਅਤੇ ਕੋਰ ਟੂਲ ਅੱਪ ਟੂ ਡੇਟ ਹੋਣ, ਫਿਰ ਵੀ ਤਰੁੱਟੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।
ਯਾਦ ਰੱਖਣ ਲਈ ਇੱਕ ਨਾਜ਼ੁਕ ਬਿੰਦੂ ਇਹ ਹੈ ਕਿ Azure ਫੰਕਸ਼ਨ ਰਨਟਾਈਮ ਨਿਰਧਾਰਤ ਕੀਤੇ 'ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਟਾਰਗੇਟਫ੍ਰੇਮਵਰਕ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ. ਜੇਕਰ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ .NET ਸੰਸਕਰਣ ਲੋੜੀਂਦੇ Azure ਫੰਕਸ਼ਨ ਸੰਸਕਰਣ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਰਨਟਾਈਮ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਜਾਰੀ ਰਹੇਗਾ। ਇਸ ਨੂੰ ਘਟਾਉਣ ਲਈ, .NET ਰਨਟਾਈਮ ਅਤੇ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ, ਖਾਸ ਕਰਕੇ SDK ਨੂੰ ਇੱਕ ਨਵੇਂ ਸੰਸਕਰਣ ਵਿੱਚ ਅੱਪਗ੍ਰੇਡ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਦੋਵਾਂ ਦੇ ਅੱਪਡੇਟ ਲਈ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ ਜਾਂਚ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ।
ਇਕ ਹੋਰ ਜ਼ਰੂਰੀ ਵਿਚਾਰ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੀ ਸਹੀ ਸੰਰਚਨਾ ਹੈ। ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਜਿਵੇਂ ਕਿ ਪਰਿਭਾਸ਼ਿਤ ਜਾਂ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ AzureWebJobsStorage ਅਤੇ WEBSITE_RUN_FROM_PACKAGE ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਫੰਕਸ਼ਨ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚੱਲਦਾ ਹੈ। ਇਹ ਵੇਰੀਏਬਲ Azure ਫੰਕਸ਼ਨ ਨੂੰ ਵਿਕਾਸ ਦੇ ਦੌਰਾਨ ਸਰੋਤਾਂ, ਜਿਵੇਂ ਕਿ ਸਟੋਰੇਜ ਖਾਤੇ, ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ, ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੀ local.settings.json ਫਾਈਲ ਵਿੱਚ ਜਾਂ ਤੁਹਾਡੇ IDE ਵਿੱਚ ਵਾਤਾਵਰਣ ਸੈਟਿੰਗਾਂ ਰਾਹੀਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
Azure Functions Runtime Errors ਬਾਰੇ ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
- Azure ਫੰਕਸ਼ਨ ਨੂੰ Microsoft.NET.Sdk.Functions ਵਰਜਨ 4.5.0 ਜਾਂ ਇਸ ਤੋਂ ਬਾਅਦ ਦੀ ਲੋੜ ਕਿਉਂ ਹੈ?
- ਇਹ ਲੋੜ ਨਵੀਨਤਮ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲਸ ਦੇ ਨਾਲ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ, ਜਿਸ ਨੂੰ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਫਿਕਸਾਂ ਦਾ ਲਾਭ ਲੈਣ ਲਈ SDK ਅੱਪਡੇਟ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਗਲਤੀਆਂ ਤੋਂ ਬਚਣ ਲਈ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ ਪ੍ਰੋਜੈਕਟ ਵਰਤਦਾ ਹੈ <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.5.0" />.
- ਜੇਕਰ Microsoft.NET.Sdk.Functions ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਨਾਲ ਗਲਤੀ ਠੀਕ ਨਹੀਂ ਹੁੰਦੀ ਹੈ ਤਾਂ ਮੈਨੂੰ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ?
- ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲ ਅੱਪ ਟੂ ਡੇਟ ਹਨ। ਤੁਸੀਂ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਹਨਾਂ ਨੂੰ ਅਪਡੇਟ ਕਰ ਸਕਦੇ ਹੋ npm install -g azure-functions-core-tools@4.
- ਮੈਂ Azure ਫੰਕਸ਼ਨ ਟੂਲ ਕੈਸ਼ ਨੂੰ ਕਿਵੇਂ ਸਾਫ਼ ਕਰਾਂ?
- ਤੁਸੀਂ ਕਮਾਂਡ ਚਲਾ ਕੇ ਕੈਸ਼ ਨੂੰ ਸਾਫ਼ ਕਰ ਸਕਦੇ ਹੋ func --clear-cache. ਸੰਸਕਰਣ ਵਿਵਾਦਾਂ ਤੋਂ ਬਚਣ ਲਈ ਟੂਲਸ ਨੂੰ ਅੱਪਗ੍ਰੇਡ ਕਰਨ ਵੇਲੇ ਇਹ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ।
- ਇਹ ਦੇਖਣ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਕੀ ਹੈ ਕਿ ਕੀ ਮੇਰੀ ਫੰਕਸ਼ਨ ਐਪ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚੱਲਦੀ ਹੈ?
- ਸਾਰੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ func start ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਸ਼ੁਰੂ ਕਰਨ ਅਤੇ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਕੀ ਗਲਤੀ ਬਣੀ ਰਹਿੰਦੀ ਹੈ।
- ਕੀ ਕੋਈ ਖਾਸ .NET ਸੰਸਕਰਣ ਹੈ ਜੋ ਮੈਨੂੰ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ?
- ਹਾਂ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ ਪ੍ਰੋਜੈਕਟ ਵਰਤਦਾ ਹੈ <TargetFramework>net6.0</TargetFramework>, ਜੋ Azure ਫੰਕਸ਼ਨ v4 ਲਈ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਵਰਜਨ ਬੇਮੇਲ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਮੁੱਖ ਕਦਮ
ਸਥਾਨਕ ਤੌਰ 'ਤੇ Azure ਫੰਕਸ਼ਨ ਐਪਸ ਚਲਾਉਣ ਵੇਲੇ ਤਰੁੱਟੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਦੋਵਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਹੈ Microsoft.NET.Sdk.Functions ਅਤੇ Azure ਫੰਕਸ਼ਨ ਕੋਰ ਟੂਲ। SDK ਸੰਸਕਰਣ ਨੂੰ ਸਹੀ ਰਨਟਾਈਮ ਨਾਲ ਇਕਸਾਰ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਕੈਚਾਂ ਨੂੰ ਕਲੀਅਰ ਕਰਨਾ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕੀਤੇ ਗਏ ਹਨ, ਹੋਰ ਉਲਝਣਾਂ ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ। ਇਹਨਾਂ ਕਦਮਾਂ ਦੇ ਨਾਲ, ਤੁਹਾਡੀ ਫੰਕਸ਼ਨ ਐਪ ਰਾਈਡਰ ਅਤੇ ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ 2022 ਦੋਵਾਂ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਚੱਲਣ ਦੇ ਯੋਗ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਐਰਰ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- Azure ਫੰਕਸ਼ਨ ਐਪ ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਬਾਰੇ ਵੇਰਵੇ Azure ਫੰਕਸ਼ਨਾਂ ਅਤੇ SDKs 'ਤੇ ਅਧਿਕਾਰਤ Microsoft ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਲੱਭੇ ਜਾ ਸਕਦੇ ਹਨ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, 'ਤੇ ਜਾਓ ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਅਜ਼ੁਰ ਫੰਕਸ਼ਨ ਡੌਕੂਮੈਂਟੇਸ਼ਨ .
- ਨਾਲ ਸਮੱਸਿਆਵਾਂ ਦੇ ਨਿਪਟਾਰੇ ਬਾਰੇ ਜਾਣਕਾਰੀ Microsoft.NET.Sdk.Functions JetBrains ਦੇ ਸਮਰਥਨ ਫੋਰਮ 'ਤੇ ਉਪਲਬਧ ਹੈ। 'ਤੇ ਉਨ੍ਹਾਂ ਦੇ ਸਰੋਤਾਂ ਦੀ ਜਾਂਚ ਕਰੋ JetBrains ਰਾਈਡਰ ਦਸਤਾਵੇਜ਼ .
- ਲਈ NuGet ਪੈਕੇਜ ਵੇਰਵੇ ਅਤੇ ਅੱਪਡੇਟ Microsoft.NET.Sdk.Functions 'ਤੇ ਉਪਲਬਧ ਹਨ NuGet ਸਰਕਾਰੀ ਵੈਬਸਾਈਟ .